messagingfw/msgtestfw/Framework/src/CMtfTestServer.cpp
changeset 22 bde600d88860
parent 0 8e480a14352b
equal deleted inserted replaced
21:08008ce8a6df 22:bde600d88860
       
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 /**
       
    17  @file
       
    18 */
       
    19 
       
    20 #include "CMtfTestServer.h"
       
    21 #include "CMtfTestCase.h"
       
    22 #include "CMtfTestAction.h"
       
    23 #include "CMtfTestActionParameters.h"
       
    24 #include "CMtfTestBeginManager.h"
       
    25 #include "CMtfTestActionNamePair.h"
       
    26 #include "CMtfTestCaseNamePair.h"
       
    27 #include "CMtfTestActionSectionComplete.h"
       
    28 #include "CMtfTestActionManager.h"
       
    29 #include "CMtfTestActionWait.h"
       
    30 #include "CMtfEnumeratorConverter.h"
       
    31 #include "CMtfSetConfigurationTestStep.h"
       
    32 #include <msvstd.h>
       
    33 #include <bif.h>
       
    34 #include <msvapi.h>
       
    35 #include <etelmm.h>
       
    36 
       
    37 #include "CMtfTestActionSampleActionA.h"
       
    38 #include "CMtfTestActionSampleActionB.h"
       
    39 #include "CMtfTestActionSampleActionC.h"
       
    40 #include "CMtfTestActionSampleActionD.h"
       
    41 #include "CMtfTestActionSampleActionE.h"
       
    42 #include "CMtfTestActionSampleActionF.h"
       
    43 
       
    44 #include "CMtfTestActionStartTimer.h"
       
    45 #include "CMtfTestActionStopTimer.h"
       
    46 #include "CMtfTestActionSetHeapFailure.h"
       
    47 #include "CMtfTestActionSleep.h"
       
    48 #include "CMtfTestActionGetBaseConstants.h"
       
    49 #include "CMtfTestActionGetEntryPriorityEnums.h"
       
    50 #include "CMtfTestActionDeleteMessageStore.h"
       
    51 #include "CMtfTestActionCloseServer.h"
       
    52 #include "CMtfTestActionIsUsingHardcodedDefaultSettings.h"
       
    53 #include "CMtfTestActionCreateSession.h"
       
    54 #include "CMtfTestActionDeleteSession.h"
       
    55 #include "CMtfTestActionResetMessageStore.h"
       
    56 #include "CMtfTestActionCreateService.h"
       
    57 #include "CMtfTestActionDeleteService.h"
       
    58 #include "CMtfTestActionCreateRegistry.h"
       
    59 #include "CMtfTestActionDeleteRegistry.h"
       
    60 #include "CMtfTestActionCreateMtm.h"
       
    61 #include "CMtfTestActionDeleteMtm.h"
       
    62 #include "CMtfTestActionCreateEntry.h"
       
    63 #include "CMtfTestActionDeleteEntry.h"
       
    64 #include "CMtfTestActionCreateMessage.h"
       
    65 #include "CMtfTestActionDeleteMessage.h"
       
    66 #include "CMtfTestActionCopyEntry.h"
       
    67 #include "CMtfTestActionMoveEntry.h"
       
    68 #include "CMtfTestActionFindEntryByName.h"
       
    69 #include "CMtfTestActionCreateFolder.h"
       
    70 #include "CMtfTestActionDeleteFolder.h"
       
    71 #include "CMtfTestActionCreateSelection.h"
       
    72 #include "CMtfTestActionDeleteSelection.h"
       
    73 #include "CMtfTestActionAppendToSelection.h"
       
    74 #include "CMtfTestActionDeleteChildren.h"
       
    75 #include "CMtfTestActionGetDefaultMtmCommandParameters.h"
       
    76 #include "CMtfTestActionExecuteMtmCommand.h"
       
    77 #include "CMtfTestActionSetDefaultDataFile.h"
       
    78 #include "CMtfTestActionCheckChildrenCount.h"
       
    79 #include "CMtfTestActionCheckChildrenCountWithFlagNew.h"
       
    80 #include "CMtfTestActionCheckChildrenCountWithFlagComplete.h"
       
    81 #include "CMtfTestActionCreateChildrenSelection.h"
       
    82 #include "CMtfTestActionCopySelection.h"
       
    83 #include "CMtfTestActionMoveSelection.h"
       
    84 #include "CMtfTestActionChangeToExternalDrive.h"
       
    85 #include "CMtfTestActionChangeToInternalDrive.h"
       
    86 #include "CMtfTestActionRemoveMedia.h"
       
    87 #include "CMtfTestActionInsertMedia.h"
       
    88 #include "CMtfTestActionDeletePath.h"
       
    89 #include "CMtfTestActionSetDefaultConfiguration.h"
       
    90 #include "CMtfTestActionGetArrayCount.h"
       
    91 #include "CmtfTestActionGetNumberOfChildren.h"
       
    92 #include "CMtfTestActionCompareNumbers.h"
       
    93 #include "CMtfTestActionClass0SmsNotifier.h"
       
    94 #include "CMtfTestActionForwardSystemTime.h"
       
    95 
       
    96 #include "CMtfTestActionAddRecipient.h"
       
    97 #include "CMtfTestActionSetBodyText.h"
       
    98 #include "CMtfTestActionCountAvailableAccounts.h"
       
    99 #include "CMtfTestActionDeleteStore.h"
       
   100 
       
   101 #include "CMtfTestActionCheckIfMessagePresent.h"
       
   102 #include "CMtfTestActionFindFile.h"
       
   103 #include "CMtfTestActionLaunchAutoSend.h"
       
   104 #include "CMtfTestActionDeleteExistingService.h"
       
   105 #include "CMtfTestActionInstallMtmGroup.h"
       
   106 #include "CMtfTestActionDeInstallMtmGroup.h"
       
   107 
       
   108 #include "CMtfTestActionCheckAttachmentPathFromEntrySelection.h"
       
   109 #include "CMtfTestActionGetEmailConstants.h"
       
   110 #include "CMtfTestActionInitNtRas.h"
       
   111 #include "CMtfTestActionStopAllSocketConnections.h"
       
   112 
       
   113 #include "CMtfTestActionCreateImap4Service.h"
       
   114 #include "CMtfTestActionDeleteImap4Service.h"
       
   115 #include "CMtfTestActionCreateImap4Mtm.h"
       
   116 #include "CMtfTestActionDeleteImap4Mtm.h"
       
   117 #include "CMtfTestActionSetImap4ServiceParameters.h"
       
   118 #include "CMtfTestActionConnectImap4Server.h"
       
   119 #include "CMtfTestActionConnectAndSyncImap4Server.h"
       
   120 #include "CMtfTestActionDisconnectImap4Server.h"
       
   121 #include "CMtfTestActionDoFullImap4Synchronisation.h"
       
   122 #include "CMtfTestActionSetImap4ServiceIdleParameters.h"
       
   123 #include "Cmtftestactionsetimap4serviceLongidleparameters.h"
       
   124 #include "CMtfTestActionImap4Connected.h"
       
   125 #include "CMtfTestActionSetImap4FullDownloadLimits.h"
       
   126 #include "CMtfTestActionSetImap4PartialDownloadLimits.h"
       
   127 #include "CMtfTestActionCreateMailSelection.h"
       
   128 #include "CMtfTestActionCreatePartiallyDownloadedMailSelection.h"
       
   129 #include "CMtfTestActionCompareEmailMessages.h"
       
   130 
       
   131 #include "CMtfTestActionDoImap4ConnectAndPopulateAllMailAndDisconnect.h"
       
   132 #include "CMtfTestActionDoImap4ConnectAndPopulateAllMailAndStayOnline.h"
       
   133 #include "CMtfTestActionDoImap4ConnectAndPopulateMailSelectionAndDisconnect.h"
       
   134 #include "CMtfTestActionDoImap4ConnectAndPopulateMailSelectionAndStayOnline.h"
       
   135 #include "CMtfTestActionDoImap4ConnectAndPopulateNewMailAndDisconnect.h"
       
   136 #include "CMtfTestActionDoImap4ConnectAndPopulateNewMailAndStayOnline.h"
       
   137 #include "CMtfTestActionDoImap4Populate.h"
       
   138 #include "CMtfTestActionDoImap4PopulateAllMailWhenAlreadyConnected.h"
       
   139 #include "CMtfTestActionDoImap4PopulateMailSelectionWhenAlreadyConnected.h"
       
   140 #include "CMtfTestActionDoImap4PopulateNewMailWhenAlreadyConnected.h"
       
   141 
       
   142 // central repository tests
       
   143 #include "CMtfTestActionCreateImapAccount.h"
       
   144 #include "CMtfTestActionDeleteImapAccounts.h"
       
   145 #include "CMtfTestActionSaveImapSettings.h"
       
   146 #include "CMtfTestActionLoadImapSettings.h"
       
   147 #include "CMtfTestActionPopulateDefaultImapSettings.h"
       
   148 #include "CMtfTestActionCompareImapAccountId.h"
       
   149 #include "CMtfTestActionCompareImapSettings.h"
       
   150 #include "CMtfTestActionCountImapAccountsInArray.h"
       
   151 #include "CMtfTestActionGetImapAccountInArray.h"
       
   152 #include "CMtfTestActionGetDefaultImapService.h"
       
   153 #include "CMtfTestActionChangeDefaultImapService.h"
       
   154 #include "CMtfTestActionRemoveDefaultImapService.h"
       
   155 #include "CMtfTestActionGetImapAccountSettings.h"
       
   156 #include "CMtfTestActionModifyImapSettings.h"
       
   157 
       
   158 
       
   159 #include "CMtfTestActionCreatePop3Service.h"
       
   160 #include "CMtfTestActionDeletePop3Service.h"
       
   161 #include "CMtfTestActionCreatePop3Mtm.h"
       
   162 #include "CMtfTestActionDeletePop3Mtm.h"
       
   163 #include "CMtfTestActionSetPop3ServiceParameters.h"
       
   164 #include "CMtfTestActionConnectPop3Server.h"
       
   165 #include "CMtfTestActionDisconnectPop3Server.h"
       
   166 #include "CMtfTestActionPop3Populate.h"
       
   167 #include "CMtfTestActionPop3PopulateAll.h"
       
   168 #include "CMtfTestActionPop3PopulateNew.h"
       
   169 #include "CMtfTestActionCreatePop3MailInfo.h"
       
   170 #include "CMtfTestActionGetPopAccountSettings.h"
       
   171 #include "CMtfTestActionModifyPopSettings.h"
       
   172 
       
   173 
       
   174 
       
   175 // central repository tests
       
   176 #include "CMtfTestActionCreatePopAccount.h"
       
   177 #include "CMtfTestActionDeletePopAccounts.h"
       
   178 #include "CMtfTestActionSavePopSettings.h"
       
   179 #include "CMtfTestActionLoadPopSettings.h"
       
   180 #include "CMtfTestActionPopulateDefaultPopSettings.h"
       
   181 #include "CMtfTestActionComparePopAccountId.h"
       
   182 #include "CMtfTestActionComparePopSettings.h"
       
   183 #include "CMtfTestActionCountPopAccountsInArray.h"
       
   184 #include "CMtfTestActionGetPopAccountInArray.h"
       
   185 #include "CMtfTestActionGetDefaultPopService.h"
       
   186 #include "CMtfTestActionChangeDefaultPopService.h"
       
   187 #include "CMtfTestActionRemoveDefaultPopService.h"
       
   188 
       
   189 
       
   190 #include "CMtfTestActionCreateSmtpService.h"
       
   191 #include "CMtfTestActionDeleteSmtpService.h"
       
   192 #include "CMtfTestActionCreateSmtpMtm.h"
       
   193 #include "CMtfTestActionDeleteSmtpMtm.h"
       
   194 #include "CMtfTestActionSetSmtpServiceParameters.h"
       
   195 #include "CMtfTestActionCreateSmtpMessageFromEmailFile.h"
       
   196 #include "CMtfTestActionCreateSmtpMessageVariable.h"
       
   197 #include "CMtfTestActionVerifyEmail.h"
       
   198 #include "CMtfTestActionVerifyReplyToAddress.h"
       
   199 
       
   200 #include "CMtfTestActionCreateExpPop3MailInfo.h"
       
   201 #include "CMtfTestActionGetDefaultSmtpService.h"
       
   202 #include "CMtfTestActionChangeDefaultSmtpService.h"
       
   203 #include "CMtfTestActionRemoveDefaultSmtpService.h"
       
   204 
       
   205 #include "CMtfTestActionGetSmsConstants.h"
       
   206 #include "CMtfTestActionCreateSmsService.h"
       
   207 #include "CMtfTestActionSetDefaultSmsSettings.h"
       
   208 #include "CMtfTestActionSetSmsServiceSettings.h"
       
   209 
       
   210 #include "CMtfTestActionSmsSettingsSaveExternal.h"
       
   211 #include "CMtfTestActionCompareSmsSettings.h"
       
   212 #include "CMtfTestActionReceiveSmsMessages.h"
       
   213 #include "CMtfTestActionReceiveSmsMessages2.h"
       
   214 #include "CmtfTestActionCompareSmsMessages.h"
       
   215 
       
   216 
       
   217 #include "CMtfTestActionInitialiseSmsDefaultSettings.h"
       
   218 #include "CMtfTestActionInitialiseDefaultScheduleSettings.h"
       
   219 #include "CMtfTestActionLoadSmsSettings.h"
       
   220 #include "CMtfTestActionLoadScheduleSendSettings.h"
       
   221 #include "CMtfTestActionSaveSmsSettings.h"
       
   222 #include "CMtfTestActionSaveScheduleSendSettings.h"
       
   223 #include "CMtfTestActionCompareSmsSettingsCR.h"
       
   224 #include "CMtfTestActionCompareScheduleSendSettings.h"
       
   225 #include "CMtfTestActionGetDefaultSmsService.h"
       
   226 #include "CMtfTestActionChangeDefaultSmsService.h"
       
   227 #include "CMtfTestActionRemoveDefaultSmsService.h"
       
   228 #include "CMtfTestActionCheckSmsService.h"
       
   229 #include "CMtfTestActionCompareLastSegmentReport.h"
       
   230 
       
   231 #include "CMtfTestActionSetDiskSpaceMonitorLimits.h"
       
   232 #include "CMtfTestActionSetDiskSpace.h"
       
   233 #include "CMtfTestActionFreeDiskSpace.h"
       
   234 
       
   235 
       
   236 #include "CMtfTestActionSendEMsvGetEntry.h"
       
   237 #include "CMtfTestActionSendEMsvGetChildren.h"
       
   238 #include "CMtfTestActionSendEMsvGetRemainingChildren.h"
       
   239 #include "CMtfTestActionSendEMsvChangeEntry.h"
       
   240 #include "CMtfTestActionSendEMsvCreateEntry.h"
       
   241 #include "CMtfTestActionSendEMsvDeleteEntries.h"
       
   242 #include "CMtfTestActionSendEMsvMoveEntries.h"
       
   243 #include "CMtfTestActionSendEMsvCopyEntries.h"
       
   244 #include "CMtfTestActionSendEMsvNotifySessionEvent.h"
       
   245 #include "CMtfTestActionSendEMsvCancelSessionEventNotification.h"
       
   246 #include "CMtfTestActionSendEMsvReadStore.h"
       
   247 #include "CMtfTestActionSendEMsvLockStore.h"
       
   248 #include "CMtfTestActionSendEMsvReleaseStore.h"
       
   249 #include "CMtfTestActionSendEMsvOperationData.h"
       
   250 #include "CMtfTestActionSendEMsvCommandData.h"
       
   251 #include "CMtfTestActionSendEMsvCancelOperation.h"
       
   252 #include "CMtfTestActionSendEMsvOperationProgress.h"
       
   253 #include "CMtfTestActionSendEMsvOperationCompletion.h"
       
   254 #include "CMtfTestActionSendEMsvOperationMtm.h"
       
   255 #include "CMtfTestActionSendEMsvMtmCommand.h"
       
   256 #include "CMtfTestActionSendEMsvFillRegisteredMtmDllArray.h"
       
   257 #include "CMtfTestActionSendEMsvInstallMtmGroup.h"
       
   258 #include "CMtfTestActionSendEMsvDeInstallMtmGroup.h"
       
   259 #include "CMtfTestActionSendEMsvUseMtmGroup.h"
       
   260 #include "CMtfTestActionSendEMsvReleaseMtmGroup.h"
       
   261 #include "CMtfTestActionSendEMsvGetMtmGroupData.h"
       
   262 #include "CMtfTestActionSendEMsvCloseServer.h"
       
   263 #include "CMtfTestActionSendEMsvStopService.h"
       
   264 #include "CMtfTestActionSendEMsvServiceActive.h"
       
   265 #include "CMtfTestActionSendEMsvServiceProgress.h"
       
   266 #include "CMtfTestActionSendEMsvRemoveEntry.h"
       
   267 #include "CMtfTestActionSendEMsvSlotAvailable.h"
       
   268 #include "CMtfTestActionSendEMsvSetSessionAsObserver.h"
       
   269 #include "CMtfTestActionSendEMsvSetFailure.h"
       
   270 #include "CMtfTestActionSendEMsvChangeAttributes.h"
       
   271 #include "CMtfTestActionSendEMsvGetChildIds.h"
       
   272 #include "CMtfTestActionSendEMsvChangeDrive.h"
       
   273 #include "CMtfTestActionSendEMsvOutstandingOperations.h"
       
   274 #include "CMtfTestActionSendEMsvGetNotifySequence.h"
       
   275 #include "CMtfTestActionSendEMsvReceiveEntyEvents.h"
       
   276 #include "CMtfTestActionSendEMsvDecStoreReaderCount.h"
       
   277 #include "CMtfTestActionSendEMsvGetMessageDrive.h"
       
   278 #include "CMtfTestActionSendEMsvGetMtmRequiredCapabilities.h"
       
   279 #include "CMtfTestActionSendEMsvCreateAttachmentForWrite.h"
       
   280 #include "CMtfTestActionSendEMsvOpenAttachment.h"
       
   281 #include "CMtfTestActionSendEMsvOpenAttachmentForWrite.h"
       
   282 #include "CMtfTestActionSendEMsvDeleteAttachment.h"
       
   283 #include "CMtfTestActionSendEMsvOpenFileStoreForRead.h"
       
   284 #include "CMtfTestActionSendEMsvOpenTempStoreFile.h"
       
   285 #include "CMtfTestActionSendEMsvReplaceFileStore.h"
       
   286 #include "CMtfTestActionSendEMsvDeleteFileStore.h"
       
   287 #include "CMtfTestActionSendEMsvFileStoreExists.h"
       
   288 #include "CMtfTestActionSendEMsvGetAndClearIndexCorruptFlag.h"
       
   289 #include "CMtfTestActionSendEMsvCopyStore.h"
       
   290 #include "CMtfTestActionSendEMsvDeleteStore.h"
       
   291 #include "CMtfTestActionSendEMsvDriveContainsStore.h"
       
   292 
       
   293 // PREQ 557
       
   294 #if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
       
   295 #include "cmtftestactionsendemsvadddrive.h"
       
   296 #include "cmtftestactionsendemsvremovedrive.h"
       
   297 #include "cmtftestactionsendemsvupdatedrive.h"
       
   298 
       
   299 #include "cmtftestactionsendemsvdrivelist.h"
       
   300 #include "cmtftestactionsendemsvavailabledrivelist.h"
       
   301 #include "cmtftestactionsendemsvcurrentdriveinfo.h"
       
   302 
       
   303 #include "cmtftestactionsendemsvchildrenofavailabledrives.h"
       
   304 #include "cmtftestactionsendemsvgetchildidsall.h"
       
   305 #endif // #if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
       
   306 
       
   307 // PREQ 2073
       
   308 #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB)
       
   309 #include "cmtftestactionsendemsvcreatestore.h"
       
   310 #include "cmtftestactionsendemsvcheckstore.h"
       
   311 #include "cmtftestactionsendemsvcreateheaderentry.h"
       
   312 #include "cmtftestactionsendemsvupdateheaderentry.h"
       
   313 #include "cmtftestactionsendemsvloadheaderentry.h"
       
   314 #include "cmtftestactionsendemsvdeleteheaderentry.h"
       
   315 #endif // #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB)
       
   316 
       
   317 #include "CMtfTestActionCorruptFile.h"
       
   318 
       
   319 #include "CMtfTestActionSaveMsvIdParamToFile.h"
       
   320 #include "CMtfTestActionLoadMsvIdParamToFile.h"
       
   321 
       
   322 
       
   323 #include "CMtfTestActionStartWatchers.h"
       
   324 #include "CMtfTestActionCheckIfSmsWatcherRunning.h"
       
   325 #include "CMtfTestActionCreateSmsMessageFromFile.h"
       
   326 
       
   327 #include "CMtfTestCaseSample001.h"
       
   328 #include "CMtfTestCaseCreateSendReceivePop3Email.h"
       
   329 #include "CMtfTestCaseCreateSendReceiveImap4Email.h"
       
   330 
       
   331 #include "CMtfTestActionInitializeSimTsy.h"
       
   332 #include "CMtfTestActionUnloadPhoneModule.h"
       
   333 #include "CMtfTestActionSetNetRegStatus.h"
       
   334 #include "CMtfTestActionSetSchSendSettings.h"
       
   335 #include "CMtfTestActionCreateSmsMessage.h"
       
   336 #include "CMtfTestActionCreateEmailOverSmsMessage.h"
       
   337 #include "CMtfTestActionCompareEntryWithFile.h"
       
   338 #include "CMtfTestActionCheckMessageSendingState.h"
       
   339 #include "CMtfTestActionSetSignalStrength.h"
       
   340 
       
   341 #include "CMtfTestActionCreatePigeonMessage.h"
       
   342 #include "CMtfTestActionGetPigeonMtmConstant.h"
       
   343 #include "CMtfTestActionSchedulePigeonMessage.h"
       
   344 #include "CMtfTestActionCheckIfMessageScheduleDateExpired.h"
       
   345 
       
   346 #include "CMtfTestActionLaunchSchSendExe.h"
       
   347 #include "CMtfTestActionLaunchScheduleMessageExe.h"
       
   348 
       
   349 #include "CMtfTestActionPruneMessages.h"
       
   350 
       
   351 #include "CMtfTestActionAddFileAttachmentByPath.h"
       
   352 #include "CMtfTestActionAddFileAttachmentByPathSync.h"
       
   353 #include "CMtfTestActionAddFileAttachmentByHandle.h"
       
   354 #include "CMtfTestActionAddFileAttachmentByHandleSync.h"
       
   355 #include "CMtfTestActionAddFileAttachmentWithRevert.h"
       
   356 #include "CMtfTestActionAddFileAttachmentWithDestroy.h"
       
   357 #include "CMtfTestActionAddLinkedAttachment.h"
       
   358 #include "CMtfTestActionAddEntryAttachment.h"
       
   359 #include "CMtfTestActionGetAttachmentInfoById.h"
       
   360 #include "CMtfTestActionGetAttachmentInfoByIndex.h"
       
   361 #include "CMtfTestActionCreateAttachment.h"
       
   362 #include "CMtfTestActionCompareAttachment.h"
       
   363 #include "CMtfTestActionCreateAttachmentNoFileClose.h"
       
   364 #include "CMtfTestActionCheckErrorCode.h"
       
   365 #include "CMtfTestActionCountAttachments.h"
       
   366 #include "CMtfTestActionGetAttachmentIndexFromId.h"
       
   367 #include "CMtfTestActionGetAttachmentFileFromId.h"
       
   368 #include "CMtfTestActionGetAttachmentFileFromIndex.h"
       
   369 #include "CMtfTestActionGetAttachmentFileForWriteFromId.h"
       
   370 #include "CMtfTestActionRemoveFileAttachmentById.h"
       
   371 #include "CMtfTestActionRenameFileAttachmentById.h"
       
   372 #include "CMtfTestActionRemoveFileAttachmentByIndex.h"
       
   373 #include "CMtfTestActionRemoveLinkedAttachmentById.h"
       
   374 #include "CMtfTestActionRemoveEntryAttachmentById.h"
       
   375 #include "CMtfTestActionRemoveFileAttachmentWithRevert.h"
       
   376 #include "CMtfTestActionRemoveFileAttachmentWithDestroy.h"
       
   377 #include "CMtfTestActionCreateTestMimeHeaders.h"
       
   378 #include "CMtfTestActionCreateAttachmentForWrite.h"
       
   379 #include "CMtfTestActionOpenAttachment.h"
       
   380 #include "CMtfTestActionDeleteAttachment.h"
       
   381 #include "CMtfTestActionOpenFileStoreForRead.h"
       
   382 #include "CMtfTestActionOpenTempStoreFile.h"
       
   383 #include "CMtfTestActionFileStoreExists.h"
       
   384 #include "CMtfTestActionDeleteFileStore.h"
       
   385 #include "CMtfTestActionReplaceFileStore.h"
       
   386 
       
   387 #include "CMtfTestActionVerifyAttachmentInfo.h"
       
   388 #include "CMtfTestActionRemoveAllAttachments.h"
       
   389 #include "CMtfTestActionAddAttachmentAsLink.h"
       
   390 
       
   391 #include "CMtfTestActionGetEntryTypeConstants.h"
       
   392 
       
   393 #include  "CMtfTestActionGetIRMTMUId.h"
       
   394 #include "CMtfTestActionGetIrMTMCommandParameters.h"
       
   395 
       
   396 #include "CMtfTestActionGetBTMTMUId.h"
       
   397 #include "CMtfTestActionGetBtMTMCommandParameters.h"
       
   398 
       
   399 #include "CMtfTestActionSmtpGetAttachmentFileFromIndex.h"
       
   400 #include "CMtfTestActionSmtpAddEntryAttachment.h"
       
   401 #include "CMtfTestActionSmtpAddFileAttachmentByHandleSync.h"
       
   402 #include "CMtfTestActionSmtpAddFileAttachmentByPath.h"
       
   403 #include "CMtfTestActionSmtpAddLinkedAttachment.h"
       
   404 #include "CMtfTestActionSmtpCompareAttachment.h"
       
   405 #include "CMtfTestActionSmtpCountAttachments.h"
       
   406 #include "CMtfTestActionSmtpCreateAttachment.h"
       
   407 #include "CMtfTestActionSmtpGetAttachmentFileFromId.h"
       
   408 #include "CMtfTestActionSmtpGetAttachmentInfoById.h"
       
   409 #include "CMtfTestActionSmtpGetAttachmentInfoByIndex.h"
       
   410 #include "CMtfTestActionSmtpRemoveAllAttachments.h"
       
   411 #include "CMtfTestActionSmtpRemoveFileAttachmentById.h"
       
   412 #include "CMtfTestActionSmtpRemoveFileAttachmentByIndex.h"
       
   413 #include "CMtfTestActionSmtpRemoveEntryAttachmentById.h"
       
   414 #include "CMtfTestActionSmtpModifyAttachmentInfo.h"
       
   415 
       
   416 #include "CMtfTestActionRenamePath.h"
       
   417 #include "CMtfTestActionGetEntry.h"
       
   418 #include "CMtfTestActionGetStore.h"
       
   419 #include "CMtfTestActionReadMessage.h"
       
   420 #include "CMtfTestActionSetUTCOffset.h"
       
   421 #include "CMtfTestActionCreateOrderedChildrenSelection.h"
       
   422 #include "CMtfTestActionCompareSelections.h"
       
   423 
       
   424 #include "CMtfTestActionGetSMTPMTMUId.h"
       
   425 
       
   426 
       
   427 #include "CMtfTestActionCheckDrmReceipt.h"
       
   428 #include "CMtfTestActionCheckDrmMetaData.h"
       
   429 #include "CMtfTestActionCheckMessageStore.h"
       
   430 #include "CMtfTestActionSmtpSendEmail.h"
       
   431 
       
   432 //SendAs Includes
       
   433 #include "CMtfTestActionConnectSendAsServer.h"
       
   434 #include "CMtfTestActionSendAsGetFilteredMessageTypes.h"
       
   435 #include "CMtfTestActionSendAsGetMessageTypeUid.h"
       
   436 #include "CMtfTestActionSendAsCreateMessageofType.h"
       
   437 #include "CMtfTestActionSendAsCloseMessage.h"
       
   438 #include "CMtfTestActionCloseSendAsServerConnection.h"
       
   439 
       
   440 #include "CMtfTestActionSendAsAddAttachment.h"
       
   441 #include "CMtfTestActionSendAsAddLinkedAttachment.h"
       
   442 #include "CMtfTestActionSendAsAddRecipient.h"
       
   443 #include "CMtfTestActionSendAsAddMultipleRecipient.h"
       
   444 #include "CMtfTestActionSendAsCheckMultipleRecipientFlag.h"
       
   445 #include "CMtfTestActionSendAsSaveMessageAndClose.h"
       
   446 #include "CMtfTestActionSendAsLaunchEditorAndClose.h"
       
   447 #include "CMtfTestActionSendAsCreateAttachment.h"
       
   448 #include "CMtfTestActionSendAsCreateMessageWithAccount.h"
       
   449 #include "CMtfTestActionSendAsGetAccount.h"
       
   450 #include "CMtfTestActionSendAsGetAccountNames.h"
       
   451 #include "CMtfTestActionSendAsGetAvailableAccounts.h"
       
   452 #include "CMtfTestActionSendAsGetAvailableMessageTypes.h"
       
   453 #include "CMtfTestActionSendAsSendMessage.h"
       
   454 #include "CMtfTestActionSendAsSetBioType.h"
       
   455 #include "CMtfTestActionSendAsSetSubject.h"
       
   456 #include "CMtfTestActionVerifyBioType.h"
       
   457 #include "CMtfTestActionVerifyBodyText.h"
       
   458 #include "CMtfTestActionVerifyRecipients.h"
       
   459 #include "CMtfTestActionVerifySubject.h"
       
   460 #include "CMtfTestActionVerifySendAsMessageState.h"
       
   461 #include "CMtfTestActionGetMessageAtIndex.h"
       
   462 #include "CMtfTestActionSendAsCloseAndSendMessage.h"
       
   463 #include "CMtfTestActionSendAsSetBodyText.h"
       
   464 
       
   465 #include "CMtfTestActionGetSMTPMTMUId.h"
       
   466 #include "CMtfTestActionCompareEmails.h"
       
   467 #include "CMtfTestActionSetUserResponse.h"
       
   468 
       
   469 #include "CMtfTestActionSendAsSendMessageNew.h"
       
   470 
       
   471 // Preq 1667 - Enhanced Search Sort in message store includes
       
   472 #include "CMtfTestActionSendEMsvGetResultCount.h"
       
   473 
       
   474 
       
   475 _LIT(KBeginTestCase,"BEGIN_TEST_CASE");
       
   476 _LIT(KBeginTestCaseAsync,"BEGIN_TEST_CASE_ASYNC");
       
   477 _LIT(KSetupTestCase,"SETUP_TEST_CASE");
       
   478 _LIT(KExecuteTestCase,"EXECUTE_TEST_CASE");
       
   479 _LIT(KCheckPostconditions,"CHECK_POSTCONDITIONS");
       
   480 _LIT(KEndTestCase,"END_TEST_CASE");
       
   481 _LIT(KWaitForAll,"WaitForAll");
       
   482 _LIT(KWaitForActions,"WaitForActions");
       
   483 _LIT(KSetConfiguration,"SetConfiguration");
       
   484 
       
   485 _LIT(KMtfInvalidScript,"Invalid Script");
       
   486 _LIT(KMtfInternalError,"Internal Error");
       
   487 
       
   488 // hack to ensure different test accounts are used on different builds
       
   489 // needs to be updated each time we have a new build
       
   490 // 9.0 builds (& 9.1 at the moment but we don't test 9.1 at the moment)
       
   491 _LIT(KDefaultConfigImap4Settings,	"c:\\MsgTest\\TestFramework\\Configurations\\EmailSettings\\Imap4Settings-lon-cn-exchng2k_90.txt");
       
   492 _LIT(KDefaultConfigPop3Settings,	"c:\\MsgTest\\TestFramework\\Configurations\\EmailSettings\\Pop3Settings-lon-cn-exchng2k_90.txt" );
       
   493 _LIT(KDefaultConfigSmtpSettings,	"c:\\MsgTest\\TestFramework\\Configurations\\EmailSettings\\SmtpSettings-lon-cn-exchng2k_90.txt" );
       
   494 
       
   495 
       
   496 
       
   497 
       
   498 
       
   499 
       
   500 
       
   501 // Default config for Email File.
       
   502 
       
   503 //only the email-simple.txt seems to work with CMtfTestActionCreateSmtpMessageFromEmailFile
       
   504 _LIT(KDefaultConfigEmailFile,		"c:\\MsgTest\\TestFramework\\Configurations\\EmailMessage\\Email-Simple.txt");
       
   505 //_LIT(KDefaultConfigEmailFile,		"c:\\MsgTest\\TestFramework\\Configurations\\EmailMessage\\2att.txt");
       
   506 //_LIT(KDefaultConfigEmailFile,		"c:\\MsgTest\\TestFramework\\Configurations\\EmailMessage\\test1_mail.txt");
       
   507 //_LIT(KDefaultConfigEmailFile,		"c:\\MsgTest\\TestFramework\\Configurations\\EmailMessage\\TCase_11_6KBAttchmnt.txt" );
       
   508 
       
   509 
       
   510 
       
   511 // Default config for SMS settings
       
   512 _LIT(KDefaultConfigSmsSettings, "c:\\MsgTest\\TestFramework\\Configurations\\SmsSettings\\SmsSettingsO2.txt");
       
   513 _LIT(KDefaultConfigScheduleSendSettings, "c:\\MsgTest\\TestFramework\\Configurations\\SmsSettings\\SmsScheduleSettings.txt");
       
   514 
       
   515 /**
       
   516  * @return - Instance of the test server
       
   517  * Called inside the MainL() function to create and start the
       
   518  * CTestServer derived server.
       
   519  */
       
   520 CMtfTestServer* CMtfTestServer::NewL()
       
   521     {
       
   522     CMtfTestServer* server = new(ELeave) CMtfTestServer();
       
   523     CleanupStack::PushL(server);
       
   524 
       
   525    	RProcess handle = RProcess();
       
   526 
       
   527 	TParsePtrC serverName(handle.FileName());
       
   528 server->StartL(serverName.Name());
       
   529 
       
   530     server->ConstructL();
       
   531     CleanupStack::Pop(server);
       
   532     return server;
       
   533     }
       
   534 
       
   535 CMtfTestServer::CMtfTestServer()
       
   536 :CTestServer(), iScriptState(CMtfTestCase::EMtfTestCaseInitialState)
       
   537     {
       
   538     }
       
   539 
       
   540 CMtfTestServer::~CMtfTestServer()
       
   541     {
       
   542     // current test case does not need to be deleted
       
   543     // because TestExecute deletes it
       
   544 
       
   545     iAvailableTestActions.ResetAndDestroy();
       
   546     iAvailableTestCases.ResetAndDestroy();
       
   547     iDefaultConfigurations.ResetAndDestroy();
       
   548     iMainScriptConfigurations.ResetAndDestroy();
       
   549     iEnumeratorConverters.ResetAndDestroy();
       
   550     }
       
   551 
       
   552 /** Constructs the data used by the Messaging test server. */
       
   553 void CMtfTestServer::ConstructL()
       
   554     {
       
   555     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSampleActionA,&CMtfTestActionSampleActionA::NewL));
       
   556     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSampleActionB,&CMtfTestActionSampleActionB::NewL));
       
   557     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSampleActionC,&CMtfTestActionSampleActionC::NewL));
       
   558     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSampleActionD,&CMtfTestActionSampleActionD::NewL));
       
   559     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSampleActionE,&CMtfTestActionSampleActionE::NewL));
       
   560     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSampleActionF,&CMtfTestActionSampleActionF::NewL));
       
   561 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionStartTimer,&CMtfTestActionStartTimer::NewL));
       
   562 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionStopTimer,&CMtfTestActionStopTimer::NewL));
       
   563 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetHeapFailure,&CMtfTestActionSetHeapFailure::NewL));
       
   564 
       
   565 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSleep,&CMtfTestActionSleep::NewL));
       
   566 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetBaseConstants,&CMtfTestActionGetBaseConstants::NewL));
       
   567 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetEntryPriorityEnums,&CMtfTestActionGetEntryPriorityEnums::NewL));
       
   568 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteMessageStore,&CMtfTestActionDeleteMessageStore::NewL));
       
   569 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCloseServer,&CMtfTestActionCloseServer::NewL));
       
   570 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionIsUsingHardcodedDefaultSettings,&CMtfTestActionIsUsingHardcodedDefaultSettings::NewL));
       
   571 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSession,&CMtfTestActionCreateSession::NewL));
       
   572 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteSession,&CMtfTestActionDeleteSession::NewL));
       
   573 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionResetMessageStore,&CMtfTestActionResetMessageStore::NewL));
       
   574 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateService,&CMtfTestActionCreateService::NewL));
       
   575 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteService,&CMtfTestActionDeleteService::NewL));
       
   576 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateRegistry,&CMtfTestActionCreateRegistry::NewL));
       
   577 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteRegistry,&CMtfTestActionDeleteRegistry::NewL));
       
   578 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateMtm,&CMtfTestActionCreateMtm::NewL));
       
   579 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteMtm,&CMtfTestActionDeleteMtm::NewL));
       
   580 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateEntry,&CMtfTestActionCreateEntry::NewL));
       
   581 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteEntry,&CMtfTestActionDeleteMessage::NewL));
       
   582 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateMessage,&CMtfTestActionCreateMessage::NewL));
       
   583 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteMessage,&CMtfTestActionDeleteMessage::NewL));
       
   584 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCopyEntry,&CMtfTestActionCopyEntry::NewL));
       
   585 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionMoveEntry,&CMtfTestActionMoveEntry::NewL));
       
   586 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionFindEntryByName,&CMtfTestActionFindEntryByName::NewL));
       
   587 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateFolder,&CMtfTestActionCreateFolder::NewL));
       
   588 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteFolder,&CMtfTestActionDeleteFolder::NewL));
       
   589 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSelection,&CMtfTestActionCreateSelection::NewL));
       
   590 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteSelection,&CMtfTestActionDeleteSelection::NewL));
       
   591 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAppendToSelection,&CMtfTestActionAppendToSelection::NewL));
       
   592 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteChildren,&CMtfTestActionDeleteChildren::NewL));
       
   593 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetDefaultMtmCommandParameters,&CMtfTestActionGetDefaultMtmCommandParameters::NewL));
       
   594 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionExecuteMtmCommand,&CMtfTestActionExecuteMtmCommand::NewL));
       
   595 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetDefaultDataFile,&CMtfTestActionSetDefaultDataFile::NewL));
       
   596 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckChildrenCount,&CMtfTestActionCheckChildrenCount::NewL));
       
   597 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckChildrenCountWithFlagNew,&CMtfTestActionCheckChildrenCountWithFlagNew::NewL));
       
   598 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckChildrenCountWithFlagComplete,&CMtfTestActionCheckChildrenCountWithFlagComplete::NewL));
       
   599 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateChildrenSelection,&CMtfTestActionCreateChildrenSelection::NewL));
       
   600 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCopySelection,&CMtfTestActionCopySelection::NewL));
       
   601 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionMoveSelection,&CMtfTestActionMoveSelection::NewL));
       
   602 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionChangeToExternalDrive,&CMtfTestActionChangeToExternalDrive::NewL));
       
   603 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionChangeToInternalDrive,&CMtfTestActionChangeToInternalDrive::NewL));
       
   604 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveMedia,&CMtfTestActionRemoveMedia::NewL));
       
   605 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionInsertMedia,&CMtfTestActionInsertMedia::NewL));
       
   606 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteFile,&CMtfTestActionDeletePath::NewL));
       
   607 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetDefaultConfiguration,&CMtfTestActionSetDefaultConfiguration::NewL));
       
   608     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetArrayCount,&CMtfTestActionGetArrayCount::NewL));
       
   609     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetNumberOfChildren,&CMtfTestActionGetNumberOfChildren::NewL));
       
   610     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareNumbers,&CMtfTestActionCompareNumbers::NewL));
       
   611     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddRecipient,&CMtfTestActionAddRecipient::NewL));
       
   612  	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetBodyText,&CMtfTestActionSetBodyText::NewL));
       
   613  	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCountAvailableAccounts,&CMtfTestActionCountAvailableAccounts::NewL));
       
   614  	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteStore,&CMtfTestActionDeleteStore::NewL));
       
   615 
       
   616     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteExistingService,&CMtfTestActionDeleteExistingService::NewL));
       
   617     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckIfMessagePresent,&CMtfTestActionCheckIfMessagePresent::NewL));
       
   618     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionFindFile,&CMtfTestActionFindFile::NewL));
       
   619     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLaunchAutoSend,&CMtfTestActionLaunchAutoSend::NewL));
       
   620 
       
   621 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetEmailConstants,&CMtfTestActionGetEmailConstants::NewL));
       
   622 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionInitNtRas,&CMtfTestActionInitNtRas::NewL));
       
   623 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionStopAllSocketConnections,&CMtfTestActionStopAllSocketConnections::NewL));
       
   624 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionInstallMtmGroup,&CMtfTestActionInstallMtmGroup::NewL));
       
   625 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeInstallMtmGroup,&CMtfTestActionDeInstallMtmGroup::NewL));
       
   626 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLaunchAutoSend,&CMtfTestActionLaunchAutoSend::NewL));
       
   627 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckAttachmentPathFromEntrySelection,&CMtfTestActionCheckAttachmentPathFromEntrySelection::NewL));
       
   628 
       
   629     // IMAP Related
       
   630 
       
   631     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateImap4Service,&CMtfTestActionCreateImap4Service::NewL));
       
   632     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteImap4Service,&CMtfTestActionDeleteImap4Service::NewL));
       
   633     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateImap4Mtm,&CMtfTestActionCreateImap4Mtm::NewL));
       
   634     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteImap4Mtm,&CMtfTestActionDeleteImap4Mtm::NewL));
       
   635     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetImap4ServiceParameters,&CMtfTestActionSetImap4ServiceParameters::NewL));
       
   636     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionConnectImap4Server,&CMtfTestActionConnectImap4Server::NewL));
       
   637     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionConnectAndSyncImap4Server,&CMtfTestActionConnectAndSyncImap4Server::NewL));
       
   638     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDisconnectImap4Server,&CMtfTestActionDisconnectImap4Server::NewL));
       
   639     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoFullImap4Synchronisation,&CMtfTestActionDoFullImap4Synchronisation::NewL));
       
   640     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetImap4ServiceIdleParameters,&CMtfTestActionSetImap4ServiceIdleParameters::NewL));
       
   641 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetImap4ServiceLongIdleParameters,&CMtfTestActionSetImap4ServiceLongIdleParameters::NewL));
       
   642     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionImap4Connected, &CMtfTestActionImap4Connected::NewL));
       
   643 
       
   644     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoFullImap4Synchronisation,&CMtfTestActionDoFullImap4Synchronisation::NewL));
       
   645     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4ConnectAndPopulateAllMailAndDisconnect,&CMtfTestActionDoImap4ConnectAndPopulateAllMailAndDisconnect::NewL));
       
   646     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4ConnectAndPopulateAllMailAndStayOnline,&CMtfTestActionDoImap4ConnectAndPopulateAllMailAndStayOnline::NewL));
       
   647     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4ConnectAndPopulateMailSelectionAndDisconnect,&CMtfTestActionDoImap4ConnectAndPopulateMailSelectionAndDisconnect::NewL));
       
   648     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4ConnectAndPopulateMailSelectionAndStayOnline,&CMtfTestActionDoImap4ConnectAndPopulateMailSelectionAndStayOnline::NewL));
       
   649     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4ConnectAndPopulateNewMailAndDisconnect,&CMtfTestActionDoImap4ConnectAndPopulateNewMailAndDisconnect::NewL));
       
   650     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4ConnectAndPopulateNewMailAndStayOnline,&CMtfTestActionDoImap4ConnectAndPopulateNewMailAndStayOnline::NewL));
       
   651     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4Populate,&CMtfTestActionDoImap4Populate::NewL));
       
   652     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4PopulateAllMailWhenAlreadyConnected,&CMtfTestActionDoImap4PopulateAllMailWhenAlreadyConnected::NewL));
       
   653     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4PopulateMailSelectionWhenAlreadyConnected,&CMtfTestActionDoImap4PopulateMailSelectionWhenAlreadyConnected::NewL));
       
   654     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDoImap4PopulateNewMailWhenAlreadyConnected,&CMtfTestActionDoImap4PopulateNewMailWhenAlreadyConnected::NewL));
       
   655 
       
   656     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetImap4FullDownloadLimits,&CMtfTestActionSetImap4FullDownloadLimits::NewL));
       
   657     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetImap4PartialDownloadLimits,&CMtfTestActionSetImap4PartialDownloadLimits::NewL));
       
   658     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreatePartiallyDownloadedMailSelection,&CMtfTestActionCreatePartiallyDownloadedMailSelection::NewL));
       
   659     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateMailSelection,&CMtfTestActionCreateMailSelection::NewL));
       
   660     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareEmailMessages,&CMtfTestActionCompareEmailMessages::NewL));
       
   661 
       
   662 
       
   663 
       
   664 
       
   665 
       
   666     // CENTRAL REPOSITORY IMAP TESTS
       
   667     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateImapAccount,&CMtfTestActionCreateImapAccount::NewL));
       
   668     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteImapAccounts,&CMtfTestActionDeleteImapAccounts::NewL));
       
   669     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSaveImapSettings,&CMtfTestActionSaveImapSettings::NewL));
       
   670     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLoadImapSettings,&CMtfTestActionLoadImapSettings::NewL));
       
   671     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionPopulateDefaultImapSettings,&CMtfTestActionPopulateDefaultImapSettings::NewL));
       
   672     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareImapAccountId, &CMtfTestActionCompareImapAccountId::NewL ) );
       
   673     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareImapSettings, &CMtfTestActionCompareImapSettings::NewL ) );
       
   674     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCountImapAccountsInArray, &CMtfTestActionCountImapAccountsInArray::NewL ) );
       
   675     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetImapAccountInArray, &CMtfTestActionGetImapAccountInArray::NewL ) );
       
   676     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetDefaultImapService, &CMtfTestActionGetDefaultImapService::NewL ) );
       
   677     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionChangeDefaultImapService, &CMtfTestActionChangeDefaultImapService::NewL ) );
       
   678     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionRemoveDefaultImapService, &CMtfTestActionRemoveDefaultImapService::NewL ) );
       
   679 
       
   680     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetImapAccountSettings, &CMtfTestActionGetImapAccountSettings::NewL ) );
       
   681     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionModifyImapSettings, &CMtfTestActionModifyImapSettings::NewL ) );
       
   682 
       
   683 
       
   684 
       
   685     // POP related
       
   686     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreatePop3Service,&CMtfTestActionCreatePop3Service::NewL));
       
   687     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeletePop3Service,&CMtfTestActionDeletePop3Service::NewL));
       
   688     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreatePop3Mtm,&CMtfTestActionCreatePop3Mtm::NewL));
       
   689     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeletePop3Mtm,&CMtfTestActionDeletePop3Mtm::NewL));
       
   690     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetPop3ServiceParameters,&CMtfTestActionSetPop3ServiceParameters::NewL));
       
   691     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionConnectPop3Server,&CMtfTestActionConnectPop3Server::NewL));
       
   692     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDisconnectPop3Server,&CMtfTestActionDisconnectPop3Server::NewL));
       
   693 
       
   694     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPop3Populate, &CMtfTestActionPop3Populate::NewL ) );
       
   695     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPop3PopulateAll, &CMtfTestActionPop3PopulateAll::NewL ) );
       
   696     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPop3PopulateNew, &CMtfTestActionPop3PopulateNew::NewL ) );
       
   697 
       
   698 
       
   699     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCreatePop3MailInfo, &CMtfTestActionCreatePop3MailInfo::NewL ) );
       
   700     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCreateExpPop3MailInfo, &CMtfTestActionCreateExpPop3MailInfo::NewL ) );
       
   701 
       
   702 
       
   703 
       
   704 
       
   705     // CENTRAL REPOSITORY POP TESTS
       
   706     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCreatePopAccount, &CMtfTestActionCreatePopAccount::NewL ) );
       
   707     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionSavePopSettings, &CMtfTestActionSavePopSettings::NewL ) );
       
   708     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionLoadPopSettings, &CMtfTestActionLoadPopSettings::NewL ) );
       
   709     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPopulateDefaultPopSettings, &CMtfTestActionPopulateDefaultPopSettings::NewL ) );
       
   710     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionComparePopAccountId, &CMtfTestActionComparePopAccountId::NewL ) );
       
   711     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionComparePopSettings, &CMtfTestActionComparePopSettings::NewL ) );
       
   712     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCountPopAccountsInArray, &CMtfTestActionCountPopAccountsInArray::NewL ) );
       
   713     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetPopAccountInArray, &CMtfTestActionGetPopAccountInArray::NewL ) );
       
   714     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetDefaultPopService, &CMtfTestActionGetDefaultPopService::NewL ) );
       
   715     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionChangeDefaultPopService, &CMtfTestActionChangeDefaultPopService::NewL ) );
       
   716     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionRemoveDefaultPopService, &CMtfTestActionRemoveDefaultPopService::NewL ) );
       
   717 
       
   718     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetPopAccountSettings, &CMtfTestActionGetPopAccountSettings::NewL ) );
       
   719     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionModifyPopSettings, &CMtfTestActionModifyPopSettings::NewL ) );
       
   720     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionDeletePopAccounts, &CMtfTestActionDeletePopAccounts::NewL ) );
       
   721 
       
   722 
       
   723 
       
   724 
       
   725     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetSmsConstants,&CMtfTestActionGetSmsConstants::NewL));
       
   726     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmsService,&CMtfTestActionCreateSmsService::NewL));
       
   727     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetDefaultSmsSettings,&CMtfTestActionSetDefaultSmsSettings::NewL));
       
   728     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetSmsServiceSettings,&CMtfTestActionSetSmsServiceSettings::NewL));
       
   729     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmsSettingsSaveExternal,&CMtfTestActionSmsSettingsSaveExternal::NewL));
       
   730     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareSmsSettings,&CMtfTestActionCompareSmsSettings::NewL));
       
   731     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareSmsMessages,&CMtfTestActionCompareSmsMessages::NewL));
       
   732     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionReceiveSmsMessages,&CMtfTestActionReceiveSmsMessages::NewL));
       
   733 
       
   734 	// SIM TSY Out of Disk space Tests
       
   735 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetDiskSpaceMonitorLimits,&CMtfTestActionSetDiskSpaceMonitorLimits::NewL));
       
   736 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetDiskSpace,&CMtfTestActionSetDiskSpace::NewL));
       
   737 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionFreeDiskSpace,&CMtfTestActionFreeDiskSpace::NewL));
       
   738 
       
   739 
       
   740 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionReceiveSmsMessages2,&CMtfTestActionReceiveSmsMessages2::NewL));
       
   741 
       
   742     // CENTRAL REPOSITORY SMS TESTS
       
   743     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionInitialiseSmsDefaultSettings,&CMtfTestActionInitialiseSmsDefaultSettings::NewL));
       
   744     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionInitialiseDefaultScheduleSettings,&CMtfTestActionInitialiseDefaultScheduleSettings::NewL));
       
   745     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLoadSmsSettings,&CMtfTestActionLoadSmsSettings::NewL));
       
   746     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLoadScheduleSendSettings,&CMtfTestActionLoadScheduleSendSettings::NewL));
       
   747     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSaveSmsSettings,&CMtfTestActionSaveSmsSettings::NewL));
       
   748     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSaveScheduleSendSettings,&CMtfTestActionSaveScheduleSendSettings::NewL));
       
   749     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareSmsSettingsCR,&CMtfTestActionCompareSmsSettingsCR::NewL));
       
   750     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareScheduleSendSettings,&CMtfTestActionCompareScheduleSendSettings::NewL));
       
   751     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetDefaultSmsService, &CMtfTestActionGetDefaultSmsService::NewL ) );
       
   752     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionChangeDefaultSmsService, &CMtfTestActionChangeDefaultSmsService::NewL ) );
       
   753     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionRemoveDefaultSmsService, &CMtfTestActionRemoveDefaultSmsService::NewL ) );
       
   754     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCheckSmsService, &CMtfTestActionCheckSmsService::NewL ) );
       
   755 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareLastSegmentReport,&CMtfTestActionCompareLastSegmentReport::NewL));
       
   756 // POP related
       
   757 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreatePop3Service,&CMtfTestActionCreatePop3Service::NewL));
       
   758 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeletePop3Service,&CMtfTestActionDeletePop3Service::NewL));
       
   759 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreatePop3Mtm,&CMtfTestActionCreatePop3Mtm::NewL));
       
   760 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeletePop3Mtm,&CMtfTestActionDeletePop3Mtm::NewL));
       
   761 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetPop3ServiceParameters,&CMtfTestActionSetPop3ServiceParameters::NewL));
       
   762 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionConnectPop3Server,&CMtfTestActionConnectPop3Server::NewL));
       
   763 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDisconnectPop3Server,&CMtfTestActionDisconnectPop3Server::NewL));
       
   764 	AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPop3Populate, &CMtfTestActionPop3Populate::NewL ) );
       
   765 	AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPop3PopulateAll, &CMtfTestActionPop3PopulateAll::NewL ) );
       
   766 	AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionPop3PopulateNew, &CMtfTestActionPop3PopulateNew::NewL ) );
       
   767 
       
   768 
       
   769 	AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCreatePop3MailInfo, &CMtfTestActionCreatePop3MailInfo::NewL ) );
       
   770 	AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionCreateExpPop3MailInfo, &CMtfTestActionCreateExpPop3MailInfo::NewL ) );
       
   771 
       
   772 
       
   773 
       
   774     // SMTP RELATED
       
   775     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmtpService,&CMtfTestActionCreateSmtpService::NewL));
       
   776     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteSmtpService,&CMtfTestActionDeleteSmtpService::NewL));
       
   777     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmtpMtm,&CMtfTestActionCreateSmtpMtm::NewL));
       
   778     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteSmtpMtm,&CMtfTestActionDeleteSmtpMtm::NewL));
       
   779     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetSmtpServiceParameters,&CMtfTestActionSetSmtpServiceParameters::NewL));
       
   780 
       
   781 
       
   782     // CENTRAL REPOSITORY SMTP TESTS
       
   783     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionGetDefaultSmtpService, &CMtfTestActionGetDefaultSmtpService::NewL ) );
       
   784     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionChangeDefaultSmtpService, &CMtfTestActionChangeDefaultSmtpService::NewL ) );
       
   785     AddTestActionL(CMtfTestActionNamePair::NewL( KTestActionRemoveDefaultSmtpService, &CMtfTestActionRemoveDefaultSmtpService::NewL ) );
       
   786 
       
   787 
       
   788     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionStartWatchers,&CMtfTestActionStartWatchers::NewL));
       
   789     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckIfSmsWatcherRunning,&CMtfTestActionCheckIfSmsWatcherRunning::NewL));
       
   790     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmsMessageFromFile, &CMtfTestActionCreateSmsMessageFromFile::NewL));
       
   791     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmtpMessageFromEmailFile,&CMtfTestActionCreateSmtpMessageFromEmailFile::NewL));
       
   792     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmtpMessageVariable,&CMtfTestActionCreateSmtpMessageVariable::NewL));
       
   793     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifyEmail, &CMtfTestActionVerifyEmail::NewL ));
       
   794     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifyReplyToAddress, &CMtfTestActionVerifyReplyToAddress::NewL ));
       
   795 
       
   796     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionInitializeSimTsy,&CMtfTestActionInitializeSimTsy::NewL));
       
   797     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionUnloadPhoneModule,&CMtfTestActionUnloadPhoneModule::NewL));
       
   798     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetNetRegStatus,&CMtfTestActionSetNetRegStatus::NewL));
       
   799 
       
   800     AddTestCaseL(CMtfTestCaseNamePair::NewL(KTestCaseSample001,&CMtfTestCaseSample001::NewL));
       
   801     AddTestCaseL(CMtfTestCaseNamePair::NewL(KTestCaseCreateSendReceivePop3Email,&CMtfTestCaseCreateSendReceivePop3Email::NewL));
       
   802     AddTestCaseL(CMtfTestCaseNamePair::NewL(KTestCaseCreateSendReceiveImap4Email,&CMtfTestCaseCreateSendReceiveImap4Email::NewL));
       
   803 
       
   804     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateSmsMessage,&CMtfTestActionCreateSmsMessage::NewL));
       
   805 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionClass0SmsNotifier,&CMtfTestActionClass0SmsNotifier::NewL));
       
   806 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionForwardSystemTime,&CMtfTestActionForwardSystemTime::NewL));
       
   807 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateEmailOverSmsMessage,&CMtfTestActionCreateEmailOverSmsMessage::NewL));
       
   808 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareEntryWithFile,&CMtfTestActionCompareEntryWithFile::NewL));
       
   809     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetSchSendSettings,&CMtfTestActionSetSchSendSettings::NewL));
       
   810     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckMessageSendingState,&CMtfTestActionCheckMessageSendingState::NewL));
       
   811     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetSignalStrength,&CMtfTestActionSetSignalStrength::NewL));
       
   812 
       
   813     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSchedulePigeonMessage,&CMtfTestActionSchedulePigeonMessage::NewL));
       
   814     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreatePigeonMessage,&CMtfTestActionCreatePigeonMessage::NewL));
       
   815     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetPigeonMtmConstant,&CMtfTestActionGetPigeonMtmConstant::NewL));
       
   816     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckIfMessageScheduleDateExpired,&CMtfTestActionCheckIfMessageScheduleDateExpired::NewL));
       
   817 
       
   818     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLaunchSchSendExe,&CMtfTestActionLaunchSchSendExe::NewL));
       
   819     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLaunchScheduleMessageExe,&CMtfTestActionLaunchScheduleMessageExe::NewL));
       
   820 
       
   821 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionPruneMessages,&CMtfTestActionPruneMessages::NewL));
       
   822 
       
   823 
       
   824 	// Capability testing related
       
   825 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetEntry,&CMtfTestActionSendEMsvGetEntry::NewL));
       
   826 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetChildren,&CMtfTestActionSendEMsvGetChildren::NewL));
       
   827 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetRemainingChildren,&CMtfTestActionSendEMsvGetRemainingChildren::NewL));
       
   828 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvChangeEntry,&CMtfTestActionSendEMsvChangeEntry::NewL));
       
   829 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCreateEntry,&CMtfTestActionSendEMsvCreateEntry::NewL));
       
   830 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDeleteEntries,&CMtfTestActionSendEMsvDeleteEntries::NewL));
       
   831 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvMoveEntries,&CMtfTestActionSendEMsvMoveEntries::NewL));
       
   832 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCopyEntries,&CMtfTestActionSendEMsvCopyEntries::NewL));
       
   833 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvNotifySessionEvent,&CMtfTestActionSendEMsvNotifySessionEvent::NewL));
       
   834 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCancelSessionEventNotification,&CMtfTestActionSendEMsvCancelSessionEventNotification::NewL));
       
   835 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvReadStore,&CMtfTestActionSendEMsvReadStore::NewL));
       
   836 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvLockStore,&CMtfTestActionSendEMsvLockStore::NewL));
       
   837 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvReleaseStore,&CMtfTestActionSendEMsvReleaseStore::NewL));
       
   838 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOperationData,&CMtfTestActionSendEMsvOperationData::NewL));
       
   839 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCommandData,&CMtfTestActionSendEMsvCommandData::NewL));
       
   840 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCancelOperation,&CMtfTestActionSendEMsvCancelOperation::NewL));
       
   841 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOperationProgress,&CMtfTestActionSendEMsvOperationProgress::NewL));
       
   842 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOperationCompletion,&CMtfTestActionSendEMsvOperationCompletion::NewL));
       
   843 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOperationMtm,&CMtfTestActionSendEMsvOperationMtm::NewL));
       
   844 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvMtmCommand,&CMtfTestActionSendEMsvMtmCommand::NewL));
       
   845 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvFillRegisteredMtmDllArray,&CMtfTestActionSendEMsvFillRegisteredMtmDllArray::NewL));
       
   846 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvInstallMtmGroup,&CMtfTestActionSendEMsvInstallMtmGroup::NewL));
       
   847 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDeInstallMtmGroup,&CMtfTestActionSendEMsvDeInstallMtmGroup::NewL));
       
   848 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvUseMtmGroup,&CMtfTestActionSendEMsvUseMtmGroup::NewL));
       
   849 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvReleaseMtmGroup,&CMtfTestActionSendEMsvReleaseMtmGroup::NewL));
       
   850 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetMtmGroupData,&CMtfTestActionSendEMsvGetMtmGroupData::NewL));
       
   851 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCloseServer,&CMtfTestActionSendEMsvCloseServer::NewL));
       
   852 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvStopService,&CMtfTestActionSendEMsvStopService::NewL));
       
   853 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvServiceActive,&CMtfTestActionSendEMsvServiceActive::NewL));
       
   854 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvServiceProgress,&CMtfTestActionSendEMsvServiceProgress::NewL));
       
   855 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvRemoveEntry,&CMtfTestActionSendEMsvRemoveEntry::NewL));
       
   856 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvSlotAvailable,&CMtfTestActionSendEMsvSlotAvailable::NewL));
       
   857 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvSetSessionAsObserver,&CMtfTestActionSendEMsvSetSessionAsObserver::NewL));
       
   858 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvSetFailure,&CMtfTestActionSendEMsvSetFailure::NewL));
       
   859 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvChangeAttributes,&CMtfTestActionSendEMsvChangeAttributes::NewL));
       
   860 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetChildIds,&CMtfTestActionSendEMsvGetChildIds::NewL));
       
   861 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvChangeDrive,&CMtfTestActionSendEMsvChangeDrive::NewL));
       
   862 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOutstandingOperations,&CMtfTestActionSendEMsvOutstandingOperations::NewL));
       
   863 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetNotifySequence,&CMtfTestActionSendEMsvGetNotifySequence::NewL));
       
   864 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvReceiveEntyEvents,&CMtfTestActionSendEMsvReceiveEntyEvents::NewL));
       
   865 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDecStoreReaderCount,&CMtfTestActionSendEMsvDecStoreReaderCount::NewL));
       
   866 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetMessageDrive,&CMtfTestActionSendEMsvGetMessageDrive::NewL));
       
   867 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetMtmRequiredCapabilities,&CMtfTestActionSendEMsvGetMtmRequiredCapabilities::NewL));
       
   868 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCreateAttachmentForWrite,&CMtfTestActionSendEMsvCreateAttachmentForWrite::NewL));
       
   869 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOpenAttachment,&CMtfTestActionSendEMsvOpenAttachment::NewL));
       
   870 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOpenAttachmentForWrite,&CMtfTestActionSendEMsvOpenAttachmentForWrite::NewL));
       
   871 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDeleteAttachment,&CMtfTestActionSendEMsvDeleteAttachment::NewL));
       
   872 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOpenFileStoreForRead,&CMtfTestActionSendEMsvOpenFileStoreForRead::NewL));
       
   873 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvOpenTempStoreFile,&CMtfTestActionSendEMsvOpenTempStoreFile::NewL));
       
   874 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvReplaceFileStore,&CMtfTestActionSendEMsvReplaceFileStore::NewL));
       
   875 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDeleteFileStore,&CMtfTestActionSendEMsvDeleteFileStore::NewL));
       
   876 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvFileStoreExists,&CMtfTestActionSendEMsvFileStoreExists::NewL));
       
   877 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetAndClearIndexCorruptFlag,&CMtfTestActionSendEMsvGetAndClearIndexCorruptFlag::NewL));
       
   878 
       
   879 	// PREQ 557
       
   880 	#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
       
   881 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvAddDrive,&CMtfTestActionSendEMsvAddDrive::NewL));
       
   882 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvRemoveDrive,&CMtfTestActionSendEMsvRemoveDrive::NewL));
       
   883 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvUpdateDrive,&CMtfTestActionSendEMsvUpdateDrive::NewL));
       
   884 
       
   885 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDriveList,&CMtfTestActionSendEMsvDriveList::NewL));
       
   886 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvAvailableDriveList,&CMtfTestActionSendEMsvAvailableDriveList::NewL));
       
   887 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCurrentDriveInfo,&CMtfTestActionSendEMsvCurrentDriveInfo::NewL));
       
   888 
       
   889 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvChildrenOfAvailableDrives,&CMtfTestActionSendEMsvChildrenOfAvailableDrives::NewL));
       
   890 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetChildIdsAll,&CMtfTestActionSendEMsvGetChildIdsAll::NewL));
       
   891 	#endif // #if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
       
   892 
       
   893 	// PREQ 2073
       
   894 	#if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB)
       
   895 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCreateStore,&CMtfTestActionSendEMsvCreateStore::NewL));
       
   896 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCheckStore,&CMtfTestActionSendEMsvCheckStore::NewL));
       
   897 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCreateHeaderEntry,&CMtfTestActionSendEMsvCreateHeaderEntry::NewL));
       
   898 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvUpdateHeaderEntry,&CMtfTestActionSendEMsvUpdateHeaderEntry::NewL));
       
   899 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvLoadHeaderEntry,&CMtfTestActionSendEMsvLoadHeaderEntry::NewL));
       
   900 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDeleteHeaderEntry,&CMtfTestActionSendEMsvDeleteHeaderEntry::NewL));
       
   901 	#endif // #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB)
       
   902 
       
   903 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCorruptFile,&CMtfTestActionCorruptFile::NewL));
       
   904 
       
   905 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSaveMsvIdParamToFile,&CMtfTestActionSaveMsvIdParamToFile::NewL));
       
   906 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionLoadMsvIdParamToFile,&CMtfTestActionLoadMsvIdParamToFile::NewL));
       
   907 
       
   908 
       
   909     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddFileAttachmentByPath,&CMtfTestActionAddFileAttachmentByPath::NewL));
       
   910     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddFileAttachmentByPathSync,&CMtfTestActionAddFileAttachmentByPathSync::NewL));
       
   911     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddFileAttachmentByHandle,&CMtfTestActionAddFileAttachmentByHandle::NewL));
       
   912     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddFileAttachmentByHandleSync,&CMtfTestActionAddFileAttachmentByHandleSync::NewL));
       
   913     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddFileAttachmentWithRevert,&CMtfTestActionAddFileAttachmentWithRevert::NewL));
       
   914     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddFileAttachmentWithDestroy,&CMtfTestActionAddFileAttachmentWithDestroy::NewL));
       
   915     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddLinkedAttachment,&CMtfTestActionAddLinkedAttachment::NewL));
       
   916     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddEntryAttachment,&CMtfTestActionAddEntryAttachment::NewL));
       
   917     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetAttachmentInfoById,&CMtfTestActionGetAttachmentInfoById::NewL));
       
   918     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetAttachmentInfoByIndex,&CMtfTestActionGetAttachmentInfoByIndex::NewL));
       
   919     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateAttachment,&CMtfTestActionCreateAttachment::NewL));
       
   920     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareAttachment,&CMtfTestActionCompareAttachment::NewL));
       
   921     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateAttachmentNoFileClose,&CMtfTestActionCreateAttachmentNoFileClose::NewL));
       
   922     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckErrorCode,&CMtfTestActionCheckErrorCode::NewL));
       
   923     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCountAttachments,&CMtfTestActionCountAttachments::NewL));
       
   924     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetAttachmentIndexFromId,&CMtfTestActionGetAttachmentIndexFromId::NewL));
       
   925     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetAttachmentFileFromId,&CMtfTestActionGetAttachmentFileFromId::NewL));
       
   926     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetAttachmentFileFromIndex,&CMtfTestActionGetAttachmentFileFromIndex::NewL));
       
   927     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetAttachmentFileForWriteFromId,&CMtfTestActionGetAttachmentFileForWriteFromId::NewL));
       
   928     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveFileAttachmentById,&CMtfTestActionRemoveFileAttachmentById::NewL));
       
   929     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRenameFileAttachmentById,&CMtfTestActionRenameFileAttachmentById::NewL));
       
   930     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveFileAttachmentByIndex,&CMtfTestActionRemoveFileAttachmentByIndex::NewL));
       
   931     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveLinkedAttachmentById,&CMtfTestActionRemoveLinkedAttachmentById::NewL));
       
   932     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveEntryAttachmentById,&CMtfTestActionRemoveEntryAttachmentById::NewL));
       
   933     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveFileAttachmentWithRevert,&CMtfTestActionRemoveFileAttachmentWithRevert::NewL));
       
   934     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveFileAttachmentWithDestroy,&CMtfTestActionRemoveFileAttachmentWithDestroy::NewL));
       
   935     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateTestMimeHeaders,&CMtfTestActionCreateTestMimeHeaders::NewL));
       
   936 
       
   937     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateAttachmentForWrite,&CMtfTestActionCreateAttachmentForWrite::NewL));
       
   938     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionOpenAttachment,&CMtfTestActionOpenAttachment::NewL));
       
   939     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteAttachment,&CMtfTestActionDeleteAttachment::NewL));
       
   940     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionOpenFileStoreForRead,&CMtfTestActionOpenFileStoreForRead::NewL));
       
   941     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionOpenTempStoreFile,&CMtfTestActionOpenTempStoreFile::NewL));
       
   942     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionDeleteFileStore,&CMtfTestActionDeleteFileStore::NewL));
       
   943     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionFileStoreExists,&CMtfTestActionFileStoreExists::NewL));
       
   944     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionReplaceFileStore,&CMtfTestActionReplaceFileStore::NewL));
       
   945 
       
   946     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvCopyStore,&CMtfTestActionSendEMsvCopyStore::NewL));
       
   947     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDeleteStore,&CMtfTestActionSendEMsvDeleteStore::NewL));
       
   948     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvDriveContainsStore,&CMtfTestActionSendEMsvDriveContainsStore::NewL));
       
   949 
       
   950 
       
   951     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifyAttachmentInfo,&CMtfTestActionVerifyAttachmentInfo::NewL));
       
   952     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRemoveAllAttachments,&CMtfTestActionRemoveAllAttachments::NewL));
       
   953     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddAttachmentAsLink,&CMtfTestActionAddAttachmentAsLink::NewL));
       
   954 
       
   955     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpGetAttachmentFileFromIndex,&CMtfTestActionSmtpGetAttachmentFileFromIndex::NewL));
       
   956     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpAddEntryAttachment,&CMtfTestActionSmtpAddEntryAttachment::NewL));
       
   957     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpAddFileAttachmentByHandleSync,&CMtfTestActionSmtpAddFileAttachmentByHandleSync::NewL));
       
   958     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpAddFileAttachmentByPath,&CMtfTestActionSmtpAddFileAttachmentByPath::NewL));
       
   959     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpAddLinkedAttachment,&CMtfTestActionSmtpAddLinkedAttachment::NewL));
       
   960     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpCompareAttachment,&CMtfTestActionSmtpCompareAttachment::NewL));
       
   961     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpCountAttachments,&CMtfTestActionSmtpCountAttachments::NewL));
       
   962     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpCreateAttachment,&CMtfTestActionSmtpCreateAttachment::NewL));
       
   963     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpGetAttachmentFileFromId,&CMtfTestActionSmtpGetAttachmentFileFromId::NewL));
       
   964     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpGetAttachmentInfoById,&CMtfTestActionSmtpGetAttachmentInfoById::NewL));
       
   965     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpGetAttachmentInfoByIndex,&CMtfTestActionSmtpGetAttachmentInfoByIndex::NewL));
       
   966     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpRemoveAllAttachments,&CMtfTestActionSmtpRemoveAllAttachments::NewL));
       
   967     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpRemoveFileAttachmentById,&CMtfTestActionSmtpRemoveFileAttachmentById::NewL));
       
   968     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpRemoveFileAttachmentByIndex,&CMtfTestActionSmtpRemoveFileAttachmentByIndex::NewL));
       
   969     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpRemoveEntryAttachmentById,&CMtfTestActionSmtpRemoveEntryAttachmentById::NewL));
       
   970     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpModifyAttachmentInfo,&CMtfTestActionSmtpModifyAttachmentInfo::NewL));
       
   971 
       
   972 
       
   973     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetEntryTypeConstants,&CMtfTestActionGetEntryTypeConstants::NewL));
       
   974 
       
   975     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionRenamePath,&CMtfTestActionRenamePath::NewL));
       
   976     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddGetStore,&CMtfTestActionGetStore::NewL));
       
   977     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddGetEntry,&CMtfTestActionGetEntry::NewL));
       
   978     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetIrMTMUId,&CMtfTestActionGetIRMTMUId::NewL));
       
   979     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetIrMTMCommandParameters,&CMtfTestActionGetIrMTMCommandParameters::NewL));
       
   980     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetBtMTMUId,&CMtfTestActionGetBTMTMUId::NewL));
       
   981     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetBtMTMCommandParameters,&CMtfTestActionGetBtMTMCommandParameters::NewL));
       
   982     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetSMTPMTMUId,&CMtfTestActionGetSMTPMTMUId::NewL));
       
   983 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetUTCOffset,&CMtfTestActionSetUTCOffset::NewL));
       
   984 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCreateOrderedChildrenSelection,&CMtfTestActionCreateOrderedChildrenSelection::NewL));
       
   985 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareSelections,&CMtfTestActionCompareSelections::NewL));
       
   986 
       
   987   	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionAddReadMessage,&CMtfTestActionReadMessage::NewL));
       
   988 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckDrmReceipt,&CMtfTestActionCheckDrmReceipt::NewL));
       
   989 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckDrmMetaData,&CMtfTestActionCheckDrmMetaData::NewL));
       
   990 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCheckMessageStore,&CMtfTestActionCheckMessageStore::NewL));
       
   991 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSmtpSendEmail,&CMtfTestActionSmtpSendEmail::NewL));
       
   992 
       
   993 	// 1667  - Enhanced Search Sort in message store
       
   994 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendEMsvGetResultCount,&CMtfTestActionSendEMsvGetResultCount::NewL));
       
   995 
       
   996 
       
   997     //SendAs
       
   998 
       
   999 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionConnectSendAsServer,&CMtfTestActionConnectSendAsServer::NewL));
       
  1000     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsGetFilteredMessageTypes,&CMtfTestActionSendAsGetFilteredMessageTypes::NewL));
       
  1001     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsGetMessageTypeUid,&CMtfTestActionSendAsGetMessageTypeUid::NewL));
       
  1002 
       
  1003     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsCreateMessageofType,&CMtfTestActionSendAsCreateMessageofType::NewL));
       
  1004     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsCloseMessage,&CMtfTestActionSendAsCloseMessage::NewL));
       
  1005     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCloseSendAsServerConnection,&CMtfTestActionCloseSendAsServerConnection::NewL));
       
  1006 
       
  1007     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsAddAttachment,&CMtfTestActionSendAsAddAttachment::NewL));
       
  1008     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsAddLinkedAttachment,&CMtfTestActionSendAsAddLinkedAttachment::NewL));
       
  1009     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsAddRecipient,&CMtfTestActionSendAsAddRecipient::NewL));
       
  1010     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsAddMultipleRecipient,&CMtfTestActionSendAsAddMultipleRecipient::NewL));
       
  1011 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsCheckMultipleRecipientFlag,&CMtfTestActionSendAsCheckMultipleRecipientFlag::NewL));
       
  1012 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsSaveMessageAndClose,&CMtfTestActionSendAsSaveMessageAndClose::NewL));
       
  1013     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsLaunchEditorAndClose,&CMtfTestActionSendAsLaunchEditorAndClose::NewL));
       
  1014     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsCreateAttachment,&CMtfTestActionSendAsCreateAttachment::NewL));
       
  1015     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsCreateMessageWithAccount,&CMtfTestActionSendAsCreateMessageWithAccount::NewL));
       
  1016 
       
  1017     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsGetAccount,&CMtfTestActionSendAsGetAccount::NewL));
       
  1018     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsGetAccountNames,&CMtfTestActionSendAsGetAccountNames::NewL));
       
  1019     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsGetAvailableAccounts,&CMtfTestActionSendAsGetAvailableAccounts::NewL));
       
  1020     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsGetAvailableMessageTypes,&CMtfTestActionSendAsGetAvailableMessageTypes::NewL));
       
  1021 
       
  1022  	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsSendMessage,&CMtfTestActionSendAsSendMessage::NewL));
       
  1023     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsSetBioType,&CMtfTestActionSendAsSetBioType::NewL));
       
  1024     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsSetSubject,&CMtfTestActionSendAsSetSubject::NewL));
       
  1025     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifyBioType,&CMtfTestActionVerifyBioType::NewL));
       
  1026     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifyBodyText,&CMtfTestActionVerifyBodyText::NewL));
       
  1027     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifyRecipients,&CMtfTestActionVerifyRecipients::NewL));
       
  1028     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifySubject,&CMtfTestActionVerifySubject::NewL));
       
  1029 
       
  1030  	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionVerifySendAsMessageState,&CMtfTestActionVerifySendAsMessageState::NewL));
       
  1031     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionGetMessageAtIndex,&CMtfTestActionGetMessageAtIndex::NewL));
       
  1032     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsCloseAndSendMessage,&CMtfTestActionSendAsCloseAndSendMessage::NewL));
       
  1033     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsSetBodyText,&CMtfTestActionSendAsSetBodyText::NewL));
       
  1034 
       
  1035 	AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionCompareEmails,&CMtfTestActionCompareEmails::NewL));
       
  1036     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSetUserResponse,&CMtfTestActionSetUserResponse::NewL));
       
  1037 
       
  1038     AddTestActionL(CMtfTestActionNamePair::NewL(KTestActionSendAsSendMessageNew,&CMtfTestActionSendAsSendMessageNew::NewL));
       
  1039 
       
  1040 
       
  1041     CMtfConfigurationType* imap4Settings = CMtfConfigurationType::NewL(CMtfConfigurationType::EMtfImap4Settings);
       
  1042     CleanupStack::PushL(imap4Settings);
       
  1043     imap4Settings->AddConfigurationFilenameL(KDefaultConfigImap4Settings);
       
  1044     CleanupStack::Pop(imap4Settings);
       
  1045     SetDefaultConfigurationTypeL(imap4Settings);
       
  1046 
       
  1047     CMtfConfigurationType* pop3Settings = CMtfConfigurationType::NewL(CMtfConfigurationType::EMtfPop3Settings);
       
  1048     CleanupStack::PushL(pop3Settings);
       
  1049     pop3Settings->AddConfigurationFilenameL(KDefaultConfigPop3Settings);
       
  1050     // now add the central repository tests
       
  1051     CleanupStack::Pop(pop3Settings);
       
  1052     SetDefaultConfigurationTypeL(pop3Settings);
       
  1053 
       
  1054     CMtfConfigurationType* smtpSettings = CMtfConfigurationType::NewL(CMtfConfigurationType::EMtfSmtpSettings);
       
  1055     CleanupStack::PushL(smtpSettings);
       
  1056     smtpSettings->AddConfigurationFilenameL(KDefaultConfigSmtpSettings);
       
  1057     CleanupStack::Pop(smtpSettings);
       
  1058     SetDefaultConfigurationTypeL(smtpSettings);
       
  1059 
       
  1060     CMtfConfigurationType* emailFile = CMtfConfigurationType::NewL(CMtfConfigurationType::EMtfEmailFile);
       
  1061     CleanupStack::PushL(emailFile);
       
  1062     emailFile->AddConfigurationFilenameL(KDefaultConfigEmailFile);
       
  1063     CleanupStack::Pop(emailFile);
       
  1064     SetDefaultConfigurationTypeL(emailFile);
       
  1065 
       
  1066 
       
  1067     CMtfConfigurationType* smsSettings = CMtfConfigurationType::NewL(CMtfConfigurationType::EMtfSmsSettings);
       
  1068     CleanupStack::PushL(smsSettings);
       
  1069     smsSettings->AddConfigurationFilenameL(KDefaultConfigSmsSettings);
       
  1070     smsSettings->AddConfigurationFilenameL(KDefaultConfigScheduleSendSettings);
       
  1071     CleanupStack::Pop(smsSettings);
       
  1072     SetDefaultConfigurationTypeL(smsSettings);
       
  1073 
       
  1074 
       
  1075     _LIT(KMtfPriorityEnum,"TMsvPriority");
       
  1076     _LIT(KMtfHighPriority,"EMsvHighPriority");
       
  1077     _LIT(KMtfLowPriority,"EMsvLowPriority");
       
  1078     _LIT(KMtfMediumPriority,"EMsvMediumPriority");
       
  1079 
       
  1080     CMtfEnumeratorConverter* tmsvpriorityConverter = CMtfEnumeratorConverter::NewL(
       
  1081     		KNullDesC,KMtfPriorityEnum);
       
  1082     CleanupStack::PushL(tmsvpriorityConverter);
       
  1083     tmsvpriorityConverter->AddEnumeratorValueL(KMtfHighPriority,EMsvHighPriority);
       
  1084     tmsvpriorityConverter->AddEnumeratorValueL(KMtfLowPriority,EMsvLowPriority);
       
  1085     tmsvpriorityConverter->AddEnumeratorValueL(KMtfMediumPriority,EMsvMediumPriority);
       
  1086     AddEnumeratorConverterL(tmsvpriorityConverter);
       
  1087     CleanupStack::Pop(tmsvpriorityConverter);
       
  1088 
       
  1089     _LIT(KMtfSmsDeliveryEnum,"TSmsDelivery");
       
  1090     _LIT(KMtfInmediately,"ESmsDeliveryImmediately");
       
  1091     _LIT(KMtfUponRequest,"ESmsDeliveryUponRequest");
       
  1092     _LIT(KMtfScheduled,"ESmsDeliveryScheduled");
       
  1093     CMtfEnumeratorConverter* tsmsdeliveryconverter = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfSmsDeliveryEnum);
       
  1094     CleanupStack::PushL(tsmsdeliveryconverter);
       
  1095     tsmsdeliveryconverter->AddEnumeratorValueL(KMtfInmediately, ESmsDeliveryImmediately);
       
  1096     tsmsdeliveryconverter->AddEnumeratorValueL(KMtfUponRequest, ESmsDeliveryUponRequest);
       
  1097     tsmsdeliveryconverter->AddEnumeratorValueL(KMtfScheduled, ESmsDeliveryScheduled);
       
  1098     AddEnumeratorConverterL(tsmsdeliveryconverter);
       
  1099     CleanupStack::Pop(tsmsdeliveryconverter);
       
  1100 
       
  1101     _LIT(KMtfCSmsSettingsName, "CSmsSettings");
       
  1102     _LIT(KMtfSmsReportHandlingEnum,"TSmsReportHandling");
       
  1103     _LIT(KMtfReportToInboxInvisible,"EMoveReportToInboxInvisible");
       
  1104     _LIT(KMtfReportToInboxVisible,"EMoveReportToInboxVisible");
       
  1105     _LIT(KMtfDiscardReport,"EDiscardReport");
       
  1106     _LIT(KMtfDoNotWatchForReport,"EDoNotWatchForReport");
       
  1107     CMtfEnumeratorConverter* tsmsrephandlingconverter = CMtfEnumeratorConverter::NewL(KMtfCSmsSettingsName, KMtfSmsReportHandlingEnum);
       
  1108     CleanupStack::PushL(tsmsrephandlingconverter);
       
  1109     tsmsrephandlingconverter->AddEnumeratorValueL(KMtfReportToInboxInvisible, CSmsSettings::EMoveReportToInboxInvisible);
       
  1110     tsmsrephandlingconverter->AddEnumeratorValueL(KMtfReportToInboxVisible, CSmsSettings::EMoveReportToInboxVisible);
       
  1111     tsmsrephandlingconverter->AddEnumeratorValueL(KMtfDiscardReport, CSmsSettings::EDiscardReport);
       
  1112     tsmsrephandlingconverter->AddEnumeratorValueL(KMtfDoNotWatchForReport, CSmsSettings::EDoNotWatchForReport);
       
  1113     AddEnumeratorConverterL(tsmsrephandlingconverter);
       
  1114     CleanupStack::Pop(tsmsrephandlingconverter);
       
  1115 
       
  1116     _LIT(KMtfSmsCommdbActionEnum,"TSmsSettingsCommDbAction");
       
  1117     _LIT(KMtfSmsCommdbNone,"ENone");
       
  1118     _LIT(KMtfSmsCommdbStoreToCommdb,"EStoreToCommDb");
       
  1119     CMtfEnumeratorConverter* tsmscommdbactionconverter = CMtfEnumeratorConverter::NewL(KMtfCSmsSettingsName, KMtfSmsCommdbActionEnum);
       
  1120     CleanupStack::PushL(tsmscommdbactionconverter);
       
  1121     tsmscommdbactionconverter->AddEnumeratorValueL(KMtfSmsCommdbNone, CSmsSettings::ENone);
       
  1122     tsmscommdbactionconverter->AddEnumeratorValueL(KMtfSmsCommdbStoreToCommdb, CSmsSettings::EStoreToCommDb);
       
  1123     AddEnumeratorConverterL(tsmscommdbactionconverter);
       
  1124     CleanupStack::Pop(tsmscommdbactionconverter);
       
  1125 
       
  1126     _LIT(KMtfTSmsDataCodingSchemeName,"TSmsDataCodingScheme");
       
  1127     _LIT(KMtfTSmsAlphabetEnum,"TSmsAlphabet");
       
  1128     _LIT(KMtfSmsAlphabet7Bit,"ESmsAlphabet7Bit");
       
  1129     _LIT(KMtfSmsAlphabet8Bit,"ESmsAlphabet8Bit");
       
  1130     _LIT(KMtfSmsAlphabetUCS2,"ESmsAlphabetUCS2");
       
  1131     CMtfEnumeratorConverter* tsmsalphabetconverter = CMtfEnumeratorConverter::NewL(KMtfTSmsDataCodingSchemeName, KMtfTSmsAlphabetEnum);
       
  1132     CleanupStack::PushL(tsmsalphabetconverter);
       
  1133     tsmsalphabetconverter->AddEnumeratorValueL(KMtfSmsAlphabet7Bit, TSmsDataCodingScheme::ESmsAlphabet7Bit);
       
  1134     tsmsalphabetconverter->AddEnumeratorValueL(KMtfSmsAlphabet8Bit, TSmsDataCodingScheme::ESmsAlphabet8Bit);
       
  1135     tsmsalphabetconverter->AddEnumeratorValueL(KMtfSmsAlphabetUCS2, TSmsDataCodingScheme::ESmsAlphabetUCS2);
       
  1136     AddEnumeratorConverterL(tsmsalphabetconverter);
       
  1137     CleanupStack::Pop(tsmsalphabetconverter);
       
  1138 
       
  1139     _LIT(KMtfTSmsPIDConversionEnum,"TSmsPIDConversion");
       
  1140     _LIT(KMtfSmsConvPIDNone,"ESmsConvPIDNone");
       
  1141     _LIT(KMtfSmsConvFax,"ESmsConvFax");
       
  1142     _LIT(KMtfSmsConvX400,"ESmsConvX400");
       
  1143     _LIT(KMtfSmsConvPaging,"ESmsConvPaging");
       
  1144     _LIT(KMtfSmsConvMail,"ESmsConvMail");
       
  1145     _LIT(KMtfSmsConvErmes,"ESmsConvErmes");
       
  1146     _LIT(KMtfSmsConvSpeech,"ESmsConvSpeech");
       
  1147     CMtfEnumeratorConverter* tsmsconversionconverter = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTSmsPIDConversionEnum);
       
  1148     CleanupStack::PushL(tsmsconversionconverter);
       
  1149     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvPIDNone, ESmsConvPIDNone);
       
  1150     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvFax, ESmsConvFax);
       
  1151     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvX400, ESmsConvX400);
       
  1152     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvPaging, ESmsConvPaging);
       
  1153     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvMail, ESmsConvMail);
       
  1154     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvErmes, ESmsConvErmes);
       
  1155     tsmsconversionconverter->AddEnumeratorValueL(KMtfSmsConvSpeech, ESmsConvSpeech);
       
  1156     AddEnumeratorConverterL(tsmsconversionconverter);
       
  1157     CleanupStack::Pop(tsmsconversionconverter);
       
  1158 
       
  1159     _LIT(KMtfTSmsFirstOctetName,"TSmsFirstOctet");
       
  1160     _LIT(KMtfTSmsValidityPeriodFormatEnum,"TSmsValidityPeriodFormat");
       
  1161     _LIT(KMtfSmsVPFNone,"ESmsVPFNone");
       
  1162     _LIT(KMtfSmsVPFEnhanced,"ESmsVPFEnhanced");
       
  1163     _LIT(KMtfSmsVPFInteger,"ESmsVPFInteger");
       
  1164     _LIT(KMtfSmsVPFSemiOctet,"ESmsVPFSemiOctet");
       
  1165     CMtfEnumeratorConverter* tsmsvalperiodformatconverter = CMtfEnumeratorConverter::NewL(KMtfTSmsFirstOctetName, KMtfTSmsValidityPeriodFormatEnum);
       
  1166     CleanupStack::PushL(tsmsvalperiodformatconverter);
       
  1167     tsmsvalperiodformatconverter->AddEnumeratorValueL(KMtfSmsVPFNone, TSmsFirstOctet::ESmsVPFNone);
       
  1168     tsmsvalperiodformatconverter->AddEnumeratorValueL(KMtfSmsVPFEnhanced, TSmsFirstOctet::ESmsVPFEnhanced);
       
  1169     tsmsvalperiodformatconverter->AddEnumeratorValueL(KMtfSmsVPFInteger, TSmsFirstOctet::ESmsVPFInteger);
       
  1170     tsmsvalperiodformatconverter->AddEnumeratorValueL(KMtfSmsVPFSemiOctet, TSmsFirstOctet::ESmsVPFSemiOctet);
       
  1171     AddEnumeratorConverterL(tsmsvalperiodformatconverter);
       
  1172     CleanupStack::Pop(tsmsvalperiodformatconverter);
       
  1173 
       
  1174     _LIT(KMtfRMobileSmsMessagingName,"RMobileSmsMessaging");
       
  1175     _LIT(KMtfTMobileSmsBearerEnum,"TMobileSmsBearer");
       
  1176     _LIT(KMtfSmsBearerPacketOnly,"ESmsBearerPacketOnly");
       
  1177     _LIT(KMtfSmsBearerCircuitOnly,"ESmsBearerCircuitOnly");
       
  1178     _LIT(KMtfSmsBearerPacketPreferred,"ESmsBearerPacketPreferred");
       
  1179     _LIT(KMtfSmsBearerCircuitPreferred,"ESmsBearerCircuitPreferred");
       
  1180     CMtfEnumeratorConverter* tsmsbearerconverter = CMtfEnumeratorConverter::NewL(KMtfRMobileSmsMessagingName, KMtfTMobileSmsBearerEnum);
       
  1181     CleanupStack::PushL(tsmsbearerconverter);
       
  1182     tsmsbearerconverter->AddEnumeratorValueL(KMtfSmsBearerPacketOnly, CSmsSettings::ESmsBearerPacketOnly);
       
  1183     tsmsbearerconverter->AddEnumeratorValueL(KMtfSmsBearerCircuitOnly, CSmsSettings::ESmsBearerCircuitOnly);
       
  1184     tsmsbearerconverter->AddEnumeratorValueL(KMtfSmsBearerPacketPreferred, CSmsSettings::ESmsBearerPacketPreferred);
       
  1185     tsmsbearerconverter->AddEnumeratorValueL(KMtfSmsBearerCircuitPreferred, CSmsSettings::ESmsBearerCircuitPreferred);
       
  1186     AddEnumeratorConverterL(tsmsbearerconverter);
       
  1187     CleanupStack::Pop(tsmsbearerconverter);
       
  1188 
       
  1189 
       
  1190 
       
  1191     _LIT(KMtfTFolderSyncType,"TFolderSyncType");
       
  1192     _LIT(KMtfEUseCombination,"EUseCombination");
       
  1193     _LIT(KMtfEUseLocal,"EUseLocal");
       
  1194     _LIT(KMtfEUseRemote,"EUseRemote");
       
  1195     CMtfEnumeratorConverter* tfoldersynctype = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTFolderSyncType);
       
  1196     CleanupStack::PushL(tfoldersynctype);
       
  1197     tfoldersynctype->AddEnumeratorValueL(KMtfEUseCombination, EUseCombination);
       
  1198     tfoldersynctype->AddEnumeratorValueL(KMtfEUseLocal, EUseLocal);
       
  1199     tfoldersynctype->AddEnumeratorValueL(KMtfEUseRemote, EUseRemote);
       
  1200     AddEnumeratorConverterL(tfoldersynctype);
       
  1201     CleanupStack::Pop(tfoldersynctype);
       
  1202 
       
  1203 
       
  1204 
       
  1205     _LIT(KMtfTFolderSubscribeType,"TFolderSubscribeType");
       
  1206     _LIT(KMtfEUpdateNeither,"EUpdateNeither");
       
  1207     _LIT(KMtfEUpdateLocal,"UpdateLocal");
       
  1208     _LIT(KMtfEUpdateRemote,"EUpdateRemote");
       
  1209     _LIT(KMtfEUpdateBoth,"EUpdateBoth");
       
  1210     CMtfEnumeratorConverter* tfoldersubscribetype = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTFolderSubscribeType);
       
  1211     CleanupStack::PushL(tfoldersubscribetype);
       
  1212     tfoldersubscribetype->AddEnumeratorValueL(KMtfEUpdateNeither, EUpdateNeither);
       
  1213     tfoldersubscribetype->AddEnumeratorValueL(KMtfEUpdateLocal, EUpdateLocal);
       
  1214     tfoldersubscribetype->AddEnumeratorValueL(KMtfEUpdateRemote, EUpdateRemote);
       
  1215     tfoldersubscribetype->AddEnumeratorValueL(KMtfEUpdateBoth, EUpdateBoth);
       
  1216     AddEnumeratorConverterL(tfoldersubscribetype);
       
  1217     CleanupStack::Pop(tfoldersubscribetype);
       
  1218 
       
  1219 
       
  1220 
       
  1221     _LIT(KMtfTImap4GetMailOptions,"TImap4GetMailOptions");
       
  1222     _LIT(KMtfGetImap4EmailHeaders,"EGetImap4EmailHeaders");
       
  1223     _LIT(KMtfGetImap4EmailBodyText,"EGetImap4EmailBodyText");
       
  1224     _LIT(KMtfGetImap4EmailBodyTextAndAttachments,"EGetImap4EmailBodyTextAndAttachments");
       
  1225     _LIT(KMtfGetImap4EmailAttachments,"EGetImap4EmailAttachments");
       
  1226     _LIT(KMtfGetImap4EmailBodyAlternativeText,"EGetImap4EmailBodyAlternativeText");
       
  1227     CMtfEnumeratorConverter* tfulldownloadmailoptions = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTImap4GetMailOptions);
       
  1228     CleanupStack::PushL(tfulldownloadmailoptions);
       
  1229     tfulldownloadmailoptions->AddEnumeratorValueL(KMtfGetImap4EmailHeaders, EGetImap4EmailHeaders);
       
  1230     tfulldownloadmailoptions->AddEnumeratorValueL(KMtfGetImap4EmailBodyText, EGetImap4EmailBodyText);
       
  1231     tfulldownloadmailoptions->AddEnumeratorValueL(KMtfGetImap4EmailBodyTextAndAttachments, EGetImap4EmailBodyTextAndAttachments);
       
  1232     tfulldownloadmailoptions->AddEnumeratorValueL(KMtfGetImap4EmailAttachments, EGetImap4EmailAttachments);
       
  1233     tfulldownloadmailoptions->AddEnumeratorValueL(KMtfGetImap4EmailBodyAlternativeText, EGetImap4EmailBodyAlternativeText);
       
  1234     AddEnumeratorConverterL(tfulldownloadmailoptions);
       
  1235     CleanupStack::Pop(tfulldownloadmailoptions);
       
  1236 
       
  1237 
       
  1238     _LIT(KMtfTImImap4PartialMailOptions,"TImImap4PartialMailOptions");
       
  1239     _LIT(KMtfImap4EmailNoSizeLimits,"ENoSizeLimits");
       
  1240     _LIT(KMtfImap4EmailBodyTextOnly,"EBodyTextOnly");
       
  1241     _LIT(KMtfImap4EmailAttachmentsOnly,"EAttachmentsOnly");
       
  1242     _LIT(KMtfImap4EmailBodyTextAndAttachments,"EBodyTextAndAttachments");
       
  1243     _LIT(KMtfImap4EmailCumulative,"ECumulative");
       
  1244     _LIT(KMtfImapBodyAlternativeText,"EBodyAlternativeText");
       
  1245     CMtfEnumeratorConverter* tpartialdownloadmailoptions = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTImImap4PartialMailOptions);
       
  1246     CleanupStack::PushL(tpartialdownloadmailoptions);
       
  1247     tpartialdownloadmailoptions->AddEnumeratorValueL(KMtfImap4EmailNoSizeLimits, ENoSizeLimits);
       
  1248     tpartialdownloadmailoptions->AddEnumeratorValueL(KMtfImap4EmailBodyTextOnly, EBodyTextOnly);
       
  1249     tpartialdownloadmailoptions->AddEnumeratorValueL(KMtfImap4EmailAttachmentsOnly, EAttachmentsOnly);
       
  1250     tpartialdownloadmailoptions->AddEnumeratorValueL(KMtfImap4EmailBodyTextAndAttachments, EBodyTextAndAttachments);
       
  1251     tpartialdownloadmailoptions->AddEnumeratorValueL(KMtfImap4EmailCumulative, ECumulative);
       
  1252     tpartialdownloadmailoptions->AddEnumeratorValueL(KMtfImapBodyAlternativeText, EBodyAlternativeText);
       
  1253     AddEnumeratorConverterL(tpartialdownloadmailoptions);
       
  1254     CleanupStack::Pop(tpartialdownloadmailoptions);
       
  1255 
       
  1256 
       
  1257     _LIT(KCMtfConfigurationType,"CMtfConfigurationType");
       
  1258     _LIT(KTMtfConfigurationType,"TMtfConfigurationType");
       
  1259     _LIT(KMtfCommDb,"EMtfCommDb");
       
  1260     _LIT(KMtfDataFile,"EMtfDataFile");
       
  1261     _LIT(KMtfSmsSettings,"EMtfSmsSettings");
       
  1262     _LIT(KMtfImap4Settings,"EMtfImap4Settings");
       
  1263     _LIT(KMtfPop3Settings,"EMtfPop3Settings");
       
  1264     _LIT(KMtfSmtpSettings,"EMtfSmtpSettings");
       
  1265     _LIT(KMtfSmsMessage,"EMtfSmsMessage");
       
  1266     _LIT(KMtfSmilFile,"EMtfSmilFile");
       
  1267     _LIT(KMtfEmailFile,"EMtfEmailFile");
       
  1268     _LIT(KMtfInvalidSmsMessage,"EMtfInvalidSmsMessage");
       
  1269     _LIT(KMtfInvalidSmilFile,"EMtfInvalidSmilFile");
       
  1270     _LIT(KMtfInvalidEmailFile,"EMtfInvalidEmailFile");
       
  1271     _LIT(KMtfEmailHeader,"EMtfEmailHeader");
       
  1272 
       
  1273     CMtfEnumeratorConverter* tMtfConfigurationTypeConverter = CMtfEnumeratorConverter::NewL(
       
  1274     		KCMtfConfigurationType,KTMtfConfigurationType);
       
  1275     CleanupStack::PushL(tMtfConfigurationTypeConverter);
       
  1276     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfCommDb,CMtfConfigurationType::EMtfCommDb);
       
  1277     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfDataFile,CMtfConfigurationType::EMtfDataFile);
       
  1278     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfSmsSettings,CMtfConfigurationType::EMtfSmsSettings);
       
  1279     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfImap4Settings,CMtfConfigurationType::EMtfImap4Settings);
       
  1280     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfPop3Settings,CMtfConfigurationType::EMtfPop3Settings);
       
  1281     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfSmtpSettings,CMtfConfigurationType::EMtfSmtpSettings);
       
  1282     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfSmsMessage,CMtfConfigurationType::EMtfSmsMessage);
       
  1283     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfSmilFile,CMtfConfigurationType::EMtfSmilFile);
       
  1284     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfEmailFile,CMtfConfigurationType::EMtfEmailFile);
       
  1285     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfInvalidSmsMessage,CMtfConfigurationType::EMtfInvalidSmsMessage);
       
  1286     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfInvalidSmilFile,CMtfConfigurationType::EMtfInvalidSmilFile);
       
  1287     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfInvalidEmailFile,CMtfConfigurationType::EMtfInvalidEmailFile);
       
  1288     tMtfConfigurationTypeConverter->AddEnumeratorValueL(KMtfEmailHeader,CMtfConfigurationType::EMtfEmailHeader);
       
  1289     AddEnumeratorConverterL(tMtfConfigurationTypeConverter);
       
  1290     CleanupStack::Pop(tMtfConfigurationTypeConverter);
       
  1291 
       
  1292 
       
  1293     _LIT(KMtfTMsgOutboxBodyEncoding,"TMsgOutboxBodyEncoding");
       
  1294     _LIT(KMtfEMsgOutboxDefault,"EMsgOutboxDefault");
       
  1295     _LIT(KMtfEMsgOutboxNoAlgorithm,"EMsgOutboxNoAlgorithm");
       
  1296     _LIT(KMtfEMsgOutboxMIME,"EMsgOutboxMIME");
       
  1297     _LIT(KMtfEMsgOutboxMHTMLAsMIME,"EMsgOutboxMHTMLAsMIME");
       
  1298     _LIT(KMtfEMsgOutboxMHTMLAlternativeAsMIME,"EMsgOutboxMHTMLAlternativeAsMIME");
       
  1299     CMtfEnumeratorConverter* tmsgoutboxbodyencoding = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTMsgOutboxBodyEncoding);
       
  1300     CleanupStack::PushL(tmsgoutboxbodyencoding);
       
  1301     tmsgoutboxbodyencoding->AddEnumeratorValueL(KMtfEMsgOutboxDefault, ENoSizeLimits);
       
  1302     tmsgoutboxbodyencoding->AddEnumeratorValueL(KMtfEMsgOutboxNoAlgorithm, EBodyTextOnly);
       
  1303     tmsgoutboxbodyencoding->AddEnumeratorValueL(KMtfEMsgOutboxMIME, EAttachmentsOnly);
       
  1304     tmsgoutboxbodyencoding->AddEnumeratorValueL(KMtfEMsgOutboxMHTMLAsMIME, EBodyTextAndAttachments);
       
  1305     tmsgoutboxbodyencoding->AddEnumeratorValueL(KMtfEMsgOutboxMHTMLAlternativeAsMIME, ECumulative);
       
  1306     AddEnumeratorConverterL(tmsgoutboxbodyencoding);
       
  1307     CleanupStack::Pop(tmsgoutboxbodyencoding);
       
  1308 
       
  1309 
       
  1310     _LIT(KMtfTImSMTPSendMessageOption,"TImSMTPSendMessageOption");
       
  1311     _LIT(KMtfESendMessageImmediately,"ESendMessageImmediately");
       
  1312     _LIT(KMtfESendMessageOnNextConnection,"ESendMessageOnNextConnection");
       
  1313     _LIT(KMtfESendMessageOnRequest,"ESendMessageOnRequest");
       
  1314     CMtfEnumeratorConverter* timsmtpsendmessagingoption = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTImSMTPSendMessageOption);
       
  1315     CleanupStack::PushL(timsmtpsendmessagingoption);
       
  1316     timsmtpsendmessagingoption->AddEnumeratorValueL(KMtfESendMessageImmediately, ESendMessageImmediately);
       
  1317     timsmtpsendmessagingoption->AddEnumeratorValueL(KMtfESendMessageOnNextConnection, ESendMessageOnNextConnection);
       
  1318     timsmtpsendmessagingoption->AddEnumeratorValueL(KMtfESendMessageOnRequest, ESendMessageOnRequest);
       
  1319     AddEnumeratorConverterL(timsmtpsendmessagingoption);
       
  1320     CleanupStack::Pop(timsmtpsendmessagingoption);
       
  1321 
       
  1322 
       
  1323     _LIT(KMtfTImSMTPSendCopyToSelf,"TImSMTPSendCopyToSelf");
       
  1324     _LIT(KMtfESendNoCopy,"ESendNoCopy");
       
  1325     _LIT(KMtfESendCopyAsToRecipient,"ESendCopyAsToRecipient");
       
  1326     _LIT(KMtfESendCopyAsCcRecipient,"ESendCopyAsCcRecipient");
       
  1327     _LIT(KMtfESendCopyAsBccRecipient,"ESendCopyAsBccRecipient");
       
  1328     CMtfEnumeratorConverter* timsmtpsendcopytoself = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTImSMTPSendCopyToSelf);
       
  1329     CleanupStack::PushL(timsmtpsendcopytoself);
       
  1330     timsmtpsendcopytoself->AddEnumeratorValueL(KMtfESendNoCopy, ESendNoCopy);
       
  1331     timsmtpsendcopytoself->AddEnumeratorValueL(KMtfESendCopyAsToRecipient, ESendCopyAsToRecipient);
       
  1332     timsmtpsendcopytoself->AddEnumeratorValueL(KMtfESendCopyAsCcRecipient, ESendCopyAsCcRecipient);
       
  1333     timsmtpsendcopytoself->AddEnumeratorValueL(KMtfESendCopyAsBccRecipient, ESendCopyAsBccRecipient);
       
  1334     AddEnumeratorConverterL(timsmtpsendcopytoself);
       
  1335     CleanupStack::Pop(timsmtpsendcopytoself);
       
  1336 
       
  1337 
       
  1338     _LIT(KMtfTCommDbDialogPref,"TCommDbDialogPref");
       
  1339     _LIT(KMtfECommDbDialogPrefUnknown,"ECommDbDialogPrefUnknown");
       
  1340     _LIT(KMtfECommDbDialogPrefPrompt,"ECommDbDialogPrefPrompt");
       
  1341     _LIT(KMtfECommDbDialogPrefWarn,"ECommDbDialogPrefWarn");
       
  1342     _LIT(KMtfECommDbDialogPrefDoNotPrompt,"ECommDbDialogPrefDoNotPrompt");
       
  1343     _LIT(KMtfECommDbDialogPrefPromptIfWrongMode,"ECommDbDialogPrefPromptIfWrongMode");
       
  1344     CMtfEnumeratorConverter* tcommsbdialogpref = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTCommDbDialogPref);
       
  1345     CleanupStack::PushL(tcommsbdialogpref);
       
  1346     tcommsbdialogpref->AddEnumeratorValueL(KMtfECommDbDialogPrefUnknown, ECommDbDialogPrefUnknown);
       
  1347     tcommsbdialogpref->AddEnumeratorValueL(KMtfECommDbDialogPrefPrompt, ECommDbDialogPrefPrompt);
       
  1348     tcommsbdialogpref->AddEnumeratorValueL(KMtfECommDbDialogPrefWarn, ECommDbDialogPrefWarn);
       
  1349     tcommsbdialogpref->AddEnumeratorValueL(KMtfECommDbDialogPrefDoNotPrompt, ECommDbDialogPrefDoNotPrompt);
       
  1350     tcommsbdialogpref->AddEnumeratorValueL(KMtfECommDbDialogPrefPromptIfWrongMode, ECommDbDialogPrefPromptIfWrongMode);
       
  1351     AddEnumeratorConverterL(tcommsbdialogpref);
       
  1352     CleanupStack::Pop(tcommsbdialogpref);
       
  1353 
       
  1354 	_LIT(KMtfRSendAsMessageName, "RSendAsMessage");
       
  1355 	_LIT(KMtfTSendAsRecipientType,"TSendAsRecipientType");
       
  1356 	_LIT(KMtfESendAsRecipientTo,"ESendAsRecipientTo");
       
  1357 	_LIT(KMtfESendAsRecipientCc,"ESendAsRecipientCc");
       
  1358 	_LIT(KMtfESendAsRecipientBcc,"ESendAsRecipientBcc");
       
  1359 	CMtfEnumeratorConverter* tSendAsRecipientType = CMtfEnumeratorConverter::NewL(KMtfRSendAsMessageName, KMtfTSendAsRecipientType);
       
  1360 	CleanupStack::PushL(tSendAsRecipientType);
       
  1361 	tSendAsRecipientType->AddEnumeratorValueL(KMtfESendAsRecipientTo, RSendAsMessage::ESendAsRecipientTo);
       
  1362 	tSendAsRecipientType->AddEnumeratorValueL(KMtfESendAsRecipientCc, RSendAsMessage::ESendAsRecipientCc);
       
  1363 	tSendAsRecipientType->AddEnumeratorValueL(KMtfESendAsRecipientBcc,RSendAsMessage::ESendAsRecipientBcc);
       
  1364 	AddEnumeratorConverterL(tSendAsRecipientType);
       
  1365 	CleanupStack::Pop(tSendAsRecipientType);
       
  1366 
       
  1367 
       
  1368 	_LIT(KMtfTImHeaderEncodingInfo, "TImHeaderEncodingInfo");
       
  1369 	_LIT(KMtfTFieldList,"TFieldList");
       
  1370 	_LIT(KMtfETo,"ETo");
       
  1371 	_LIT(KMtfECc,"ECc");
       
  1372 	_LIT(KMtfEBcc,"EBcc");
       
  1373 	CMtfEnumeratorConverter* tfieldList = CMtfEnumeratorConverter::NewL(KMtfTImHeaderEncodingInfo, KMtfTFieldList);
       
  1374 	CleanupStack::PushL(tfieldList);
       
  1375 	tfieldList->AddEnumeratorValueL(KMtfETo, TImHeaderEncodingInfo::ETo);
       
  1376 	tfieldList->AddEnumeratorValueL(KMtfECc, TImHeaderEncodingInfo::ECc);
       
  1377 	tfieldList->AddEnumeratorValueL(KMtfEBcc,TImHeaderEncodingInfo::EBcc);
       
  1378 	AddEnumeratorConverterL(tfieldList);
       
  1379 	CleanupStack::Pop(tfieldList);
       
  1380 
       
  1381 
       
  1382 	_LIT(KMtfTBioMsgIdType, "TBioMsgIdType");
       
  1383 	_LIT(KMtfEBioMsgIdUnknown,"EBioMsgIdUnknown");
       
  1384 	_LIT(KMtfEBioMsgIdIana,"EBioMsgIdIana");
       
  1385 	_LIT(KMtfEBioMsgIdNbs,"EBioMsgIdNbs");
       
  1386 	_LIT(KMtfEBioMsgIdWap,"EBioMsgIdWap");
       
  1387 	_LIT(KMtfEBioMsgIdWapSecure,"EBioMsgIdWapSecure");
       
  1388 	_LIT(KMtfEBioMsgIdWsp,"EBioMsgIdWsp");
       
  1389 	_LIT(KMtfEBioMsgIdWspSecure,"EBioMsgIdWspSecure");
       
  1390 	CMtfEnumeratorConverter* tBioMsgIdType = CMtfEnumeratorConverter::NewL(KNullDesC, KMtfTBioMsgIdType);
       
  1391 	CleanupStack::PushL(tBioMsgIdType);
       
  1392 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdUnknown, EBioMsgIdUnknown);
       
  1393 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdIana, EBioMsgIdIana);
       
  1394 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdNbs,EBioMsgIdNbs);
       
  1395 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdWap, EBioMsgIdWap);
       
  1396 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdWapSecure, EBioMsgIdWapSecure);
       
  1397 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdWsp, EBioMsgIdWsp);
       
  1398 	tBioMsgIdType->AddEnumeratorValueL(KMtfEBioMsgIdWspSecure, EBioMsgIdWspSecure);
       
  1399 	AddEnumeratorConverterL(tBioMsgIdType);
       
  1400 	CleanupStack::Pop(tBioMsgIdType);
       
  1401 
       
  1402 	_LIT(KMtfCMsvSendOperation,"CMsvSendOperation");
       
  1403 	_LIT(KMtfTSendOperationState, "TSendOperationState");
       
  1404 	_LIT(KMtfESendStateInPreparation,"ESendStateInPreparation");
       
  1405 	_LIT(KMtfESendStateWaitingToSend, "ESendStateWaitingToSend");
       
  1406 	_LIT(KMtfESendStateConnecting, "ESendStateConnecting");
       
  1407 	_LIT(KMtfESendStateSending, "ESendStateSending");
       
  1408 	_LIT(KMtfESendStateDone, "ESendStateDone");
       
  1409 	_LIT(KMtfESendStateFailed, "ESendStateFailed");
       
  1410 	CMtfEnumeratorConverter* tSendOperationState = CMtfEnumeratorConverter::NewL(KMtfCMsvSendOperation, KMtfTSendOperationState);
       
  1411 	CleanupStack::PushL(tSendOperationState);
       
  1412 	tSendOperationState->AddEnumeratorValueL(KMtfESendStateInPreparation, CMsvSendOperation::ESendStateInPreparation);
       
  1413 	tSendOperationState->AddEnumeratorValueL(KMtfESendStateWaitingToSend, CMsvSendOperation::ESendStateWaitingToSend);
       
  1414 	tSendOperationState->AddEnumeratorValueL(KMtfESendStateConnecting, CMsvSendOperation::ESendStateConnecting);
       
  1415 	tSendOperationState->AddEnumeratorValueL(KMtfESendStateSending, CMsvSendOperation::ESendStateSending);
       
  1416 	tSendOperationState->AddEnumeratorValueL(KMtfESendStateDone, CMsvSendOperation::ESendStateDone);
       
  1417 	tSendOperationState->AddEnumeratorValueL(KMtfESendStateFailed, CMsvSendOperation::ESendStateFailed);
       
  1418 	AddEnumeratorConverterL(tSendOperationState);
       
  1419 	CleanupStack::Pop(tSendOperationState);
       
  1420     }
       
  1421 
       
  1422 
       
  1423     /** Converts an enumerator value to the corresponding numerical value. */
       
  1424 TInt CMtfTestServer::ConvertEnumeratorL(const TDesC& aParameter) const
       
  1425     {
       
  1426   	return FindEnumeratorConverterL(aParameter).ConvertL(aParameter);
       
  1427     }
       
  1428 
       
  1429     /** Find the correct converter */
       
  1430 const CMtfEnumeratorConverter& CMtfTestServer::FindEnumeratorConverterL(const TDesC& aParameter) const
       
  1431     {
       
  1432     TInt count = iEnumeratorConverters.Count();
       
  1433     TInt i;
       
  1434     TBool found = EFalse;
       
  1435 
       
  1436     CMtfEnumeratorConverter* converter = CMtfEnumeratorConverter::NewL(aParameter);
       
  1437 
       
  1438     for (i=0; i<count; i++)
       
  1439 	    {
       
  1440     	if (*iEnumeratorConverters[i] == *converter)
       
  1441 	    	{
       
  1442     		found = ETrue;
       
  1443     		break;
       
  1444 	    	}
       
  1445     }
       
  1446 
       
  1447     delete converter;
       
  1448 
       
  1449     if (!found)
       
  1450 	    {
       
  1451     	User::Leave(KErrNotFound);
       
  1452 	    }
       
  1453 
       
  1454     return *iEnumeratorConverters[i];
       
  1455     }
       
  1456 
       
  1457     /** Returns true if the specified enumerator converter already exists. */
       
  1458 TBool CMtfTestServer::EnumeratorConverterExists(const CMtfEnumeratorConverter& aConverter) const
       
  1459     {
       
  1460     TInt count = iEnumeratorConverters.Count();
       
  1461     TInt i;
       
  1462 
       
  1463     for (i=0; i<count; i++)
       
  1464 	    {
       
  1465     	if (*iEnumeratorConverters[i] == aConverter)
       
  1466 			{
       
  1467     		return ETrue;
       
  1468 			}
       
  1469 		}
       
  1470 
       
  1471     return EFalse;
       
  1472     }
       
  1473 
       
  1474 /** Takes ownership of enumerator converter at the end. */
       
  1475 void CMtfTestServer::AddEnumeratorConverterL(CMtfEnumeratorConverter* aEnumeratorConverter)
       
  1476     {
       
  1477     // check that the same converter does not already exist
       
  1478     __ASSERT_ALWAYS(EnumeratorConverterExists(*aEnumeratorConverter)==EFalse,User::Panic(KMtfInternalError,0));
       
  1479 
       
  1480     User::LeaveIfError(iEnumeratorConverters.Append(aEnumeratorConverter));
       
  1481     }
       
  1482 
       
  1483 /** This function takes ownership of aConfiguration immediately
       
  1484 and therefore SHOULD NOT be called with aConfiguration already on the Cleanup stack. */
       
  1485 void CMtfTestServer::SetMainScriptConfigurationTypeL(CMtfConfigurationType* aConfiguration)
       
  1486     {
       
  1487     CMtfConfigurationType::SetConfigurationTypeL(aConfiguration,iMainScriptConfigurations);
       
  1488     }
       
  1489 
       
  1490 /** This function takes ownership of aConfiguration immediately
       
  1491 and therefore SHOULD NOT be called with aConfiguration already on the Cleanup stack. */
       
  1492 void CMtfTestServer::SetDefaultConfigurationTypeL(CMtfConfigurationType* aConfiguration)
       
  1493     {
       
  1494     CMtfConfigurationType::SetConfigurationTypeL(aConfiguration,iDefaultConfigurations);
       
  1495     }
       
  1496 
       
  1497 const TDesC& CMtfTestServer::GetDefaultConfigurationFileL(const CMtfConfigurationType::TMtfConfigurationType& aType) const
       
  1498     {
       
  1499     return iDefaultConfigurations[CMtfConfigurationType::FindConfigurationL(aType,iDefaultConfigurations)]->ConfigurationFileL(0);
       
  1500     }
       
  1501 
       
  1502 const TDesC& CMtfTestServer::GetMainScriptConfigurationFileL(const CMtfConfigurationType::TMtfConfigurationType& aType, TInt aIndex) const
       
  1503     {
       
  1504     return iMainScriptConfigurations[CMtfConfigurationType::FindConfigurationL(aType,iMainScriptConfigurations)]->ConfigurationFileL(aIndex);
       
  1505     }
       
  1506 
       
  1507 /** Finds the correct test case name pair and uses it to create a new test case instance. */
       
  1508 CMtfTestCase* CMtfTestServer::CreateTestCaseL(const TDesC& aCaseName) const
       
  1509     {
       
  1510     TInt count = iAvailableTestCases.Count();
       
  1511 
       
  1512     for (TInt i=0; i<count; i++)
       
  1513     	{
       
  1514     	if (iAvailableTestCases[i]->Name() == aCaseName)
       
  1515     		{
       
  1516     		return iAvailableTestCases[i]->CreateTestCaseL(*this);
       
  1517     		}
       
  1518     	}
       
  1519 
       
  1520     User::Leave(KErrNotFound);
       
  1521     return NULL;
       
  1522     }
       
  1523 
       
  1524 /** Takes ownership of action parameters at the end. The new action is owned by
       
  1525 the current test case. */
       
  1526 const CMtfTestAction& CMtfTestServer::CreateTestActionL(const TDesC& aActionName,
       
  1527     	CMtfTestActionParameters* aActionParameters, const TDesC& aActionId) const
       
  1528     {
       
  1529     CMtfTestAction* newAction = CreateTestActionPtrL(aActionName,aActionParameters);
       
  1530     newAction->SetActionIdL(aActionId);
       
  1531     return *newAction;
       
  1532     }
       
  1533 
       
  1534 /** Takes ownership of action parameters at the end. The new action is owned by
       
  1535 the current test case. */
       
  1536 const CMtfTestAction& CMtfTestServer::CreateTestActionL(const TDesC& aActionName,
       
  1537     	CMtfTestActionParameters* aActionParameters) const
       
  1538     {
       
  1539     return *CreateTestActionPtrL(aActionName,aActionParameters);
       
  1540     }
       
  1541 
       
  1542 /** Takes ownership of action parameters at the end. The new action is owned by
       
  1543 the current test case. */
       
  1544 CMtfTestAction* CMtfTestServer::CreateTestActionPtrL(const TDesC& aActionName,
       
  1545     	CMtfTestActionParameters* aActionParameters) const
       
  1546     {
       
  1547     if (aActionName == KWaitForAll)
       
  1548     	{
       
  1549     	__ASSERT_ALWAYS(aActionParameters->Count()==0,User::Panic(KMtfInvalidScript,0));
       
  1550     	return CMtfTestActionWait::NewL(CurrentTestCase(),aActionParameters);
       
  1551     	}
       
  1552     else if (aActionName == KWaitForActions)
       
  1553     	{
       
  1554     	__ASSERT_ALWAYS(aActionParameters->Count()>0,User::Panic(KMtfInvalidScript,0));
       
  1555     	return CMtfTestActionWait::NewL(CurrentTestCase(),aActionParameters);
       
  1556     	}
       
  1557 
       
  1558     TInt count = iAvailableTestActions.Count();
       
  1559 
       
  1560     for (TInt i=0; i<count; i++)
       
  1561 	    {
       
  1562     	if (iAvailableTestActions[i]->Name() == aActionName)
       
  1563 			{
       
  1564     		return iAvailableTestActions[i]->CreateTestActionL(
       
  1565     			CurrentTestCase(),aActionParameters);
       
  1566 			}
       
  1567 		}
       
  1568 
       
  1569     User::Leave(KErrNotFound);
       
  1570     return NULL;
       
  1571     }
       
  1572 
       
  1573 /** Takes ownership of a test case immediately. aTestCase should not be on the cleanup
       
  1574 stack when this function is called. */
       
  1575 void CMtfTestServer::SetCurrentTestCase(CMtfTestCase* aTestCase)
       
  1576     {
       
  1577     delete iCurrentTestCase;
       
  1578     iCurrentTestCase = aTestCase;
       
  1579     }
       
  1580 
       
  1581 CMtfTestCase& CMtfTestServer::CurrentTestCase() const
       
  1582     {
       
  1583     return *iCurrentTestCase;
       
  1584     }
       
  1585 
       
  1586 /** Takes ownership of test action/name pair immediately. */
       
  1587 void CMtfTestServer::AddTestActionL(CMtfTestActionNamePair* aPair)
       
  1588     {
       
  1589     CleanupStack::PushL(aPair);
       
  1590     User::LeaveIfError(iAvailableTestActions.Append(aPair));
       
  1591     CleanupStack::Pop(aPair);
       
  1592     }
       
  1593 
       
  1594 /** Takes ownership of test case/name pair immediately. */
       
  1595 void CMtfTestServer::AddTestCaseL(CMtfTestCaseNamePair* aPair)
       
  1596     {
       
  1597     CleanupStack::PushL(aPair);
       
  1598     User::LeaveIfError(iAvailableTestCases.Append(aPair));
       
  1599     CleanupStack::Pop(aPair);
       
  1600     }
       
  1601 
       
  1602 CTestStep* CMtfTestServer::CreateTestStep(const TDesC& aStepName)
       
  1603     {
       
  1604     CTestStep* testStep=NULL;
       
  1605     TRAPD(error,testStep=CreateTestStepL(aStepName));
       
  1606 
       
  1607     if (error)
       
  1608     	{
       
  1609     	return NULL;
       
  1610     	}
       
  1611 
       
  1612     return testStep;
       
  1613     }
       
  1614 
       
  1615 
       
  1616 /** Test server checks the structure of the test case and creates the
       
  1617 appropriate objects to handle the test case actions and sections.
       
  1618 @return - A CTestStep derived instance */
       
  1619 CTestStep* CMtfTestServer::CreateTestStepL(const TDesC& aStepName)
       
  1620     {
       
  1621     CTestStep* newTestStep = NULL;
       
  1622 
       
  1623     if (aStepName == KBeginTestCase)
       
  1624     	{
       
  1625     	__ASSERT_ALWAYS(iScriptState==CMtfTestCase::EMtfTestCaseInitialState,User::Panic(KMtfInvalidScript,0));
       
  1626     	__ASSERT_ALWAYS(iInsideScriptedTestCase==EFalse,User::Panic(KMtfInvalidScript,0));
       
  1627     	iInsideScriptedTestCase = ETrue;
       
  1628     	iScriptState = CMtfTestCase::EMtfTestCaseExecutingSetup;
       
  1629     	newTestStep = CMtfTestBeginManager::NewL(*this,ETrue);
       
  1630     	}
       
  1631     else if (aStepName == KSetConfiguration)
       
  1632     	{
       
  1633     	__ASSERT_ALWAYS(iInsideScriptedTestCase==EFalse,User::Panic(KMtfInvalidScript,0));
       
  1634     	newTestStep = CMtfSetConfigurationTestStep::NewL(*this);
       
  1635     	}
       
  1636     else if (aStepName == KBeginTestCaseAsync)
       
  1637     	{
       
  1638     	__ASSERT_ALWAYS(iScriptState==CMtfTestCase::EMtfTestCaseInitialState,User::Panic(KMtfInvalidScript,0));
       
  1639     	__ASSERT_ALWAYS(iInsideScriptedTestCase==EFalse,User::Panic(KMtfInvalidScript,0));
       
  1640     	iInsideScriptedTestCase = ETrue;
       
  1641     	iScriptState = CMtfTestCase::EMtfTestCaseExecutingSetup;
       
  1642     	newTestStep = CMtfTestBeginManager::NewL(*this,EFalse);
       
  1643     	}
       
  1644     else if (aStepName == KSetupTestCase)
       
  1645     	{
       
  1646     	__ASSERT_ALWAYS(iScriptState==CMtfTestCase::EMtfTestCaseExecutingSetup,User::Panic(KMtfInvalidScript,0));
       
  1647     	__ASSERT_ALWAYS(iInsideScriptedTestCase,User::Panic(KMtfInvalidScript,0));
       
  1648 
       
  1649     	iScriptState = CMtfTestCase::EMtfTestCaseExecutingTest;
       
  1650     	// does nothing
       
  1651     	newTestStep = CMtfTestActionManager::NewL(*this);
       
  1652     	}
       
  1653     else if (aStepName == KExecuteTestCase)
       
  1654     	{
       
  1655     	__ASSERT_ALWAYS(iScriptState==CMtfTestCase::EMtfTestCaseExecutingTest,User::Panic(KMtfInvalidScript,0));
       
  1656     	__ASSERT_ALWAYS(iInsideScriptedTestCase,User::Panic(KMtfInvalidScript,0));
       
  1657     	iScriptState = CMtfTestCase::EMtfTestCaseCheckingPostconditions;
       
  1658     	CMtfTestActionSectionComplete::NewL(*iCurrentTestCase);
       
  1659     	newTestStep = CMtfTestActionManager::NewL(*this);
       
  1660     	}
       
  1661     else if (aStepName == KCheckPostconditions)
       
  1662     	{
       
  1663     	__ASSERT_ALWAYS(iScriptState==CMtfTestCase::EMtfTestCaseCheckingPostconditions,User::Panic(KMtfInvalidScript,0));
       
  1664     	__ASSERT_ALWAYS(iInsideScriptedTestCase,User::Panic(KMtfInvalidScript,0));
       
  1665     	iScriptState = CMtfTestCase::EMtfTestCaseTestCompleted;
       
  1666     	CMtfTestActionSectionComplete::NewL(*iCurrentTestCase);
       
  1667     	newTestStep = CMtfTestActionManager::NewL(*this);
       
  1668     	}
       
  1669     else if (aStepName == KEndTestCase)
       
  1670     	{
       
  1671     	__ASSERT_ALWAYS(iScriptState==CMtfTestCase::EMtfTestCaseTestCompleted,User::Panic(KMtfInvalidScript,0));
       
  1672     	__ASSERT_ALWAYS(iInsideScriptedTestCase,User::Panic(KMtfInvalidScript,0));
       
  1673     	iInsideScriptedTestCase = EFalse;
       
  1674     	CMtfTestActionSectionComplete::NewL(*iCurrentTestCase);
       
  1675     	newTestStep = iCurrentTestCase;
       
  1676     	}
       
  1677     else if (iInsideScriptedTestCase)
       
  1678     	{
       
  1679     	// must be an action
       
  1680     	newTestStep = CMtfTestActionManager::NewL(*this,aStepName);
       
  1681     	}
       
  1682     else
       
  1683     	{
       
  1684     	// must be a test case
       
  1685     	newTestStep = CreateTestCaseL(aStepName);
       
  1686     	}
       
  1687 
       
  1688     return newTestStep;
       
  1689     }
       
  1690 
       
  1691 LOCAL_C void MainL()
       
  1692     {
       
  1693 #if (defined __DATA_CAGING__)
       
  1694     RProcess().DataCaging(RProcess::EDataCagingOn);
       
  1695     RProcess().SecureApi(RProcess::ESecureApiOn);
       
  1696 #endif
       
  1697     CActiveScheduler* sched=NULL;
       
  1698     sched=new(ELeave) CActiveScheduler;
       
  1699     CActiveScheduler::Install(sched);
       
  1700 
       
  1701     CMtfTestServer* server = NULL;
       
  1702     TRAPD(err,server = CMtfTestServer::NewL());
       
  1703     if(!err)
       
  1704     	{
       
  1705     	RProcess::Rendezvous(KErrNone);
       
  1706     	sched->Start();
       
  1707     	}
       
  1708     delete server;
       
  1709     delete sched;
       
  1710     }
       
  1711 
       
  1712 
       
  1713 
       
  1714 GLDEF_C TInt E32Main()
       
  1715     {
       
  1716     __UHEAP_MARK;
       
  1717     CTrapCleanup* cleanup = CTrapCleanup::New();
       
  1718     if(cleanup == NULL)
       
  1719     	{
       
  1720     	return KErrNoMemory;
       
  1721     	}
       
  1722     TRAP_IGNORE(MainL());
       
  1723     delete cleanup;
       
  1724     __UHEAP_MARKEND;
       
  1725     return KErrNone;
       
  1726     }
       
  1727