--- a/installationservices/swcomponentregistry/test/tscr/source/appreginfosteps.cpp Tue Aug 31 15:21:33 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1399 +0,0 @@
-/*
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Implements test steps for component management APIs in the SCR
-*
-*/
-
-#include "appreginfosteps.h"
-#include "tscrdefs.h"
-#include <scs/cleanuputils.h>
-#include <usif/usiferror.h>
-
-using namespace Usif;
-
-// -----------CScrAddApplicationEntryStep-----------------
-
-CScrAddApplicationEntryStep::CScrAddApplicationEntryStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrAddApplicationEntryStep::ImplTestStepPreambleL()
- {
- User::LeaveIfError(iScrSession.Connect());
- }
-
-void CScrAddApplicationEntryStep::ImplTestStepL()
- {
- TComponentId compId = 0;
- TBool newComponentAdded(EFalse);
-
- // Checking if have already inserted the component
- TBool isMultiApp(EFalse);
- GetBoolFromConfig(ConfigSection(), _L("IsMultiApp"), isMultiApp);
- if (isMultiApp)
- {
- INFO_PRINTF1(_L("Checking if the component is already present"));
- CGlobalComponentId *globalId = GetGlobalComponentIdLC();
- TRAP_IGNORE(compId = iScrSession.GetComponentIdL(globalId->GlobalIdName(), globalId->SoftwareTypeName()););
- CleanupStack::PopAndDestroy(globalId);
- }
-
- // Try adding the app to a component. The add operation will fail if the component is not present.
- if (!compId)
- {
- if (GetIntFromConfig(ConfigSection(), _L("UseComponentId"), compId))
- INFO_PRINTF2(_L("Adding a new AppRegInfo to component %d"), compId);
- }
-
- // The component is not present already
- if (!compId)
- {
- INFO_PRINTF1(_L("Adding a new component."));
- compId = AddNonLocalisableComponentL(iScrSession);
- newComponentAdded = ETrue;
- }
-
- INFO_PRINTF1(_L("Get reg info from config file."));
- const CApplicationRegistrationData* appRegData = GetAppRegInfoFromConfigLC();
-
- if (iIsPerformanceTest)
- StartTimer(); // Start the timer in the case of a performance tests
- TRAPD(err, iScrSession.AddApplicationEntryL(compId, *appRegData));
- if (iIsPerformanceTest)
- StopTimerAndPrintResultL(); // Stop the timer and analyze the time taken after performance tests
-
- if (err != KErrNone)
- {
- if (newComponentAdded)
- {
- // We are going to delete the component with no apps
- iScrSession.DeleteComponentL(compId);
- }
- User::Leave(err);
- }
-
- CleanupStack::PopAndDestroy();
- }
-
-void CScrAddApplicationEntryStep::ImplTestStepPostambleL()
- {
-
- }
-
-
-// -----------CScrDeleteApplicationEntriesStep-----------------
-
-CScrDeleteApplicationEntriesStep::CScrDeleteApplicationEntriesStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrDeleteApplicationEntriesStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrDeleteApplicationEntriesStep::ImplTestStepL()
- {
- TComponentId compId = 0;
-
- INFO_PRINTF1(_L("Fetching the component Id."));
-
- TUid appUid = TUid::Null();
- TRAP_IGNORE(GetAppUidL(appUid));
-
- if(appUid == TUid::Null())
- {
- SetTestStepResult(EPass);
- CGlobalComponentId *globalId = GetGlobalComponentIdLC();
- compId = iScrSession.GetComponentIdL(globalId->GlobalIdName(), globalId->SoftwareTypeName());
- CleanupStack::PopAndDestroy(globalId);
- }
- else
- {
- compId = iScrSession.GetComponentIdForAppL(appUid);
- }
-
- INFO_PRINTF2(_L("Deleting app entries for component %d"), compId);
- iScrSession.DeleteApplicationEntriesL(compId);
- INFO_PRINTF2(_L("Deleting component %d"), compId);
- iScrSession.DeleteComponentL(compId);
- }
-
-void CScrDeleteApplicationEntriesStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-CSCRGetAppServicesUids::CSCRGetAppServicesUids(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CSCRGetAppServicesUids::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CSCRGetAppServicesUids::ImplTestStepL()
- {
- TUid appUid, serviceUid;
- TInt noOfServiceUids = 0;
- RArray<TUid> expectedServiceUids;
- RArray<TUid> obtainedServiceUids;
- TBuf<20> serviceUidName;
- CleanupClosePushL(expectedServiceUids);
- CleanupClosePushL(obtainedServiceUids);
- GetIntFromConfig(ConfigSection(), _L("NoOfServiceUids"), noOfServiceUids);
- for (TUint i = 0; i < noOfServiceUids; ++i)
- {
- serviceUidName = KServiceUid;
- GenerateIndexedAttributeNameL(serviceUidName, i);
- GetUidFromConfig(ConfigSection(), serviceUidName, serviceUid);
- expectedServiceUids.AppendL(serviceUid);
- }
-
- GetAppUidL(appUid);
- RRegistrationInfoForApplication InfoQuerySubSession;
- CleanupClosePushL(InfoQuerySubSession);
-
- InfoQuerySubSession.OpenL(iScrSession, appUid);
-
- TRAPD(err,InfoQuerySubSession.GetAppServicesUidsL(obtainedServiceUids));
-
- TInt noOfExpectedServiceUids = expectedServiceUids.Count();
- TInt noOfObtainedServiceUids = obtainedServiceUids.Count();
- if(err != KErrNone && err !=KErrNotFound)
- {
- INFO_PRINTF2(_L("Failed to Get App Uid , error: %d"), err);
- SetTestStepResult(EFail);
- }
-
-
- if(noOfExpectedServiceUids != noOfObtainedServiceUids)
- {
- INFO_PRINTF3(_L("Service Uid's Count doesn't match: expected/obtained Uid count: %d/%d"), noOfExpectedServiceUids, noOfObtainedServiceUids);
- SetTestStepResult(EFail);
- }
- else
- {
- //Comparing expected result and Obtained Result
- for(TInt i=0 ; i < noOfExpectedServiceUids ; i++)
- {
- if(expectedServiceUids[i] != obtainedServiceUids[i])
- {
- INFO_PRINTF3(_L("Service Uid doesn't match: expected/obtained Uid: 0x%08x/0x%08x"), expectedServiceUids[i].iUid, obtainedServiceUids[i].iUid);
- SetTestStepResult(EFail);
- }
- }
- }
- InfoQuerySubSession.Close();
- obtainedServiceUids.Close();
- expectedServiceUids.Close();
- CleanupStack::Pop(3, &expectedServiceUids);
- }
-
-void CSCRGetAppServicesUids::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-CSCRGetAppForDataType::CSCRGetAppForDataType(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CSCRGetAppForDataType::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CSCRGetAppForDataType::ImplTestStepL()
- {
- TUid obtainedAppUid,expectedAppUid;
-
- TPtrC dataType;
- if(!GetStringFromConfig(ConfigSection(), KServiceDataType, dataType))
- {
- INFO_PRINTF1(_L("Failed to Get Data Type from ini"));
- SetTestStepResult(EFail);
- }
-
- TBool uidExists = EFalse;
- GetUidFromConfig(ConfigSection(), KAppUid, expectedAppUid);
- GetBoolFromConfig(ConfigSection(), _L("UidExists"), uidExists);
-
- RApplicationRegistrationInfo InfoQuerySubSession;
- CleanupClosePushL(InfoQuerySubSession);
-
-
- InfoQuerySubSession.OpenL(iScrSession);
-
- TRAPD(err,obtainedAppUid = InfoQuerySubSession.GetAppForDataTypeL(dataType));
-
- if(err != KErrNone && uidExists)
- {
- INFO_PRINTF2(_L("Failed to Get App Uid , error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //Comparing expected result and Obtained Result
- if(expectedAppUid != obtainedAppUid && uidExists)
- {
- INFO_PRINTF3(_L("App Uid doesn't match: expected/obtained Uid: 0x%08x/0x%08x"), expectedAppUid, obtainedAppUid);
- SetTestStepResult(EFail);
- }
-
- InfoQuerySubSession.Close();
- CleanupStack::PopAndDestroy();
- }
-
-void CSCRGetAppForDataType::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-CSCRGetAppForDataTypeAndService::CSCRGetAppForDataTypeAndService(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CSCRGetAppForDataTypeAndService::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CSCRGetAppForDataTypeAndService::ImplTestStepL()
- {
- TUid obtainedAppUid, expectedAppUid, serviceUid;
-
- TPtrC dataType;
- if(!GetStringFromConfig(ConfigSection(), KServiceDataType, dataType))
- {
- INFO_PRINTF1(_L("Failed to Get Data Type from ini"));
- SetTestStepResult(EFail);
- }
-
- //Get serviceUid from ini
- if(!GetUidFromConfig(ConfigSection(), KServiceUid, serviceUid))
- {
- INFO_PRINTF1(_L("Failed to Service uid from ini"));
- SetTestStepResult(EFail);
- }
-
- //Get expected Appuid from ini
- GetUidFromConfig(ConfigSection(), KAppUid, expectedAppUid);
-
- TBool uidExists = EFalse;
- GetBoolFromConfig(ConfigSection(), _L("UidExists"), uidExists);
-
- RApplicationRegistrationInfo InfoQuerySubSession;
- CleanupClosePushL(InfoQuerySubSession);
- InfoQuerySubSession.OpenL(iScrSession);
-
- TRAPD(err,obtainedAppUid = InfoQuerySubSession.GetAppForDataTypeAndServiceL(dataType,serviceUid));
-
- if(err != KErrNone && uidExists)
- {
- INFO_PRINTF2(_L("Failed to Get App Uid , error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //Comparing expected result and Obtained Result
- if(expectedAppUid != obtainedAppUid && uidExists)
- {
- INFO_PRINTF3(_L("App Uid doesn't match: expected/obtained Uid: 0x%08x/0x%08x"), expectedAppUid, obtainedAppUid);
- SetTestStepResult(EFail);
- }
-
- InfoQuerySubSession.Close();
- CleanupStack::PopAndDestroy();
- }
-
-void CSCRGetAppForDataTypeAndService::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-CSCRGetDefaultScreenNumber::CSCRGetDefaultScreenNumber(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CSCRGetDefaultScreenNumber::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CSCRGetDefaultScreenNumber::ImplTestStepL()
- {
- TUid appUid;
- TInt obtaineddefaultScreenNumber = 0 , expecteddefaultScreenNumber = 0;
-
- //Get the Default screen Number from the ini to compare
- GetIntFromConfig(ConfigSection(), _L("DefaultScreenNumber"), expecteddefaultScreenNumber);
-
- GetAppUidL(appUid);
- RRegistrationInfoForApplication InfoQuerySubSession;
- CleanupClosePushL(InfoQuerySubSession);
- INFO_PRINTF1(_L("After subsession creation"));
-
- InfoQuerySubSession.OpenL(iScrSession, appUid);
- TRAPD(err, obtaineddefaultScreenNumber = InfoQuerySubSession.DefaultScreenNumberL());
-
- if(err != KErrNone && expecteddefaultScreenNumber != 0)
- {
- INFO_PRINTF2(_L("Failed to Get Default Screen Number, error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //Comparing expected result and Obtained Result
- if(expecteddefaultScreenNumber != obtaineddefaultScreenNumber && expecteddefaultScreenNumber != 0)
- {
- INFO_PRINTF3(_L("Screen Number doesn't match: expected/obtained Uid: %d/%d"), expecteddefaultScreenNumber, obtaineddefaultScreenNumber);
- SetTestStepResult(EFail);
- }
-
- InfoQuerySubSession.Close();
- CleanupStack::PopAndDestroy();
- }
-
-void CSCRGetDefaultScreenNumber::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-CSCRGetNumberOfDefinedIcons::CSCRGetNumberOfDefinedIcons(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CSCRGetNumberOfDefinedIcons::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CSCRGetNumberOfDefinedIcons::ImplTestStepL()
- {
- TUid appUid;
- TInt obtainedIconcount = 0, expectedIconcount = 0;
-
- //Get the Expected Number of App Icons from the ini to compare
- GetIntFromConfig(ConfigSection(), KLocNumberOfAppIcons, expectedIconcount);
- GetAppUidL(appUid);
- RRegistrationInfoForApplication InfoQuerySubSession;
- CleanupClosePushL(InfoQuerySubSession);
-
- InfoQuerySubSession.OpenL(iScrSession, appUid);
-
- TRAPD(err,obtainedIconcount = InfoQuerySubSession.NumberOfOwnDefinedIconsL());
-
- if(err != KErrNone && expectedIconcount != 0)
- {
- INFO_PRINTF2(_L("Failed to Get Deafult Screen Number, error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //Comparing expected result and Obtained Result
- if(expectedIconcount != obtainedIconcount && expectedIconcount != -1)
- {
- INFO_PRINTF3(_L("Number of Defined Icons for App doesn't match: expected/obtained Uid: %d/%d"), expectedIconcount, obtainedIconcount);
- SetTestStepResult(EFail);
- }
-
- InfoQuerySubSession.Close();
- CleanupStack::PopAndDestroy();
-
- }
-
-void CSCRGetNumberOfDefinedIcons::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-CSCRGetApplicationLanguage::CSCRGetApplicationLanguage(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CSCRGetApplicationLanguage::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CSCRGetApplicationLanguage::ImplTestStepL()
- {
- TUid appUid;
- TInt obtainedCurrentLanguage = 0, expectedCurrentLanguage = 0;
-
- //Get the Expected Current application Language from the ini to compare
- GetIntFromConfig(ConfigSection(), KLocAppLanguage, expectedCurrentLanguage);
-
- GetAppUidL(appUid);
- INFO_PRINTF1(_L("Before subsession creation"));
-
- RRegistrationInfoForApplication InfoQuerySubSession;
- CleanupClosePushL(InfoQuerySubSession);
-
- InfoQuerySubSession.OpenL(iScrSession, appUid);
-
- TRAPD(err, obtainedCurrentLanguage = (TInt)InfoQuerySubSession.ApplicationLanguageL());
-
- if(err != KErrNone && expectedCurrentLanguage != 0)
- {
- INFO_PRINTF2(_L("Failed to Get Current App Language, error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //Comparing expected result and Obtained Result
- if(expectedCurrentLanguage != obtainedCurrentLanguage && expectedCurrentLanguage != 0)
- {
- INFO_PRINTF3(_L("Number of Defined Icons for App doesn't match: expected/obtained Uid: %d/%d"), expectedCurrentLanguage, obtainedCurrentLanguage);
- SetTestStepResult(EFail);
- }
-
- InfoQuerySubSession.Close();
- CleanupStack::PopAndDestroy(&InfoQuerySubSession);
- }
-
-void CSCRGetApplicationLanguage::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-// -----------CScrGetAppOwnedFilesEntryStep-----------------
-
-CScrGetAppOwnedFilesEntryStep::CScrGetAppOwnedFilesEntryStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppOwnedFilesEntryStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppOwnedFilesEntryStep::ImplTestStepL()
- {
- INFO_PRINTF1(_L("Get the UID from the ini for which the sub session is to be opened"));
- TUid appUid;
- GetAppUidL(appUid);
-
- INFO_PRINTF1(_L("Get the expected App owned files from ini"));
- RPointerArray<HBufC> appOwnedFilesFromIni;
- GetAppOwnedFilesL(appOwnedFilesFromIni);
-
- INFO_PRINTF1(_L("Open the sub session for the UID"));
- RRegistrationInfoForApplication AppRegInfoQueryAppSubSession;
- TRAPD(sessionerr,AppRegInfoQueryAppSubSession.OpenL(iScrSession,appUid));
- if(KErrNone != sessionerr)
- {
- INFO_PRINTF2(_L("Failed to create the subsession to the SCR server (Error:%d)."), sessionerr);
- User::Leave(sessionerr);
- }
-
- INFO_PRINTF1(_L("Retrieving the App Owned Files form db."));
- RPointerArray<HBufC> appOwnedFilesArray;
- TInt err = KErrNone;
- TRAP(err, AppRegInfoQueryAppSubSession.GetAppOwnedFilesL(appOwnedFilesArray));
- if(KErrNone == err)
- {
- INFO_PRINTF1(_L("Comparing the retrieved AppOwned files with the expected files within the ini"));
- if(CompareAppOwnedFileNamesL(appOwnedFilesArray,appOwnedFilesFromIni))
- SetTestStepResult(EPass);
- else
- SetTestStepResult(EFail);
- }
- else
- {
- appOwnedFilesArray.ResetAndDestroy();
- appOwnedFilesFromIni.ResetAndDestroy();
- AppRegInfoQueryAppSubSession.Close();
- User::Leave(err);
- }
-
- //closing the resource handles
- appOwnedFilesArray.ResetAndDestroy();
- appOwnedFilesFromIni.ResetAndDestroy();
- AppRegInfoQueryAppSubSession.Close();
- }
-
-TBool CScrGetAppOwnedFilesEntryStep::CompareAppOwnedFileNamesL(RPointerArray<HBufC>& aActualValue,RPointerArray<HBufC>& aExpetedValue)
- {
- TInt expectedCount = aExpetedValue.Count();
- TInt actualCount = aActualValue.Count();
- TBool result = ETrue;
- if( expectedCount != actualCount )
- return EFalse;
-
- for(TInt i = 0 ; i < actualCount ; i++)
- {
- if(!aExpetedValue.Find(aActualValue[i]))
- {
- result = EFalse;
- break;
- }
- }
-
- return result;
- }
-
-void CScrGetAppOwnedFilesEntryStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-
-// -----------CScrGetAppCharacteristicsEntryStep-----------------
-
-CScrGetAppCharacteristicsEntryStep::CScrGetAppCharacteristicsEntryStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppCharacteristicsEntryStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppCharacteristicsEntryStep::ImplTestStepL()
- {
- INFO_PRINTF1(_L("Get the UID from the ini for which the sub session is to be opened"));
- TUid appUid;
- GetAppUidL(appUid);
-
- INFO_PRINTF1(_L("Get the expected capabilty for an app from ini"));
- TInt attributes, hidden, embeddability, newFile, launch;
- TPtrC groupName;
- if(GetIntFromConfig(ConfigSection(), _L("Attributes"), attributes) == EFalse)
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- if(GetIntFromConfig(ConfigSection(), _L("Hidden"), hidden) == EFalse)
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- if(GetIntFromConfig(ConfigSection(), _L("Embeddability"), embeddability) == EFalse)
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- if(GetIntFromConfig(ConfigSection(), _L("NewFile"), newFile) == EFalse)
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- if(GetIntFromConfig(ConfigSection(), _L("Launch"), launch) == EFalse)
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- GetStringFromConfig(ConfigSection(), _L("GroupName"), groupName);
-
- INFO_PRINTF1(_L("Open the sub session for the UID"));
- RRegistrationInfoForApplication AppRegInfoQueryAppSubSession;
- TRAPD(sessionerr,AppRegInfoQueryAppSubSession.OpenL(iScrSession,appUid));
- if(KErrNone != sessionerr)
- {
- INFO_PRINTF2(_L("Failed to create the subsession to the SCR server (Error:%d)."), sessionerr);
- User::Leave(sessionerr);
- }
-
- INFO_PRINTF1(_L("Retrieving characteristics for an app form db."));
- Usif::TApplicationCharacteristics appCharacteristics ;
- TInt err = KErrNone;
- TRAP(err, AppRegInfoQueryAppSubSession.GetAppCharacteristicsL(appCharacteristics));
- if(KErrNone ==err)
- {
- INFO_PRINTF1(_L("Comparing the retrieved App characteristics with the expected app characteristics within the ini"));
-
- if(appCharacteristics.iEmbeddability != embeddability || appCharacteristics.iAppIsHidden != hidden || appCharacteristics.iSupportsNewFile != newFile || appCharacteristics.iLaunchInBackground != launch || appCharacteristics.iGroupName.Compare(groupName))
- SetTestStepResult(EFail);
- else
- SetTestStepResult(EPass);
- }
- else
- {
- AppRegInfoQueryAppSubSession.Close();
- User::Leave(err);
- }
- //closing the resource handles
- AppRegInfoQueryAppSubSession.Close();
- }
-
-
-void CScrGetAppCharacteristicsEntryStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-// -----------CScrGetAppIconFileNameEntryStep-----------------
-
-CScrGetAppIconEntryStep::CScrGetAppIconEntryStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppIconEntryStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppIconEntryStep::ImplTestStepL()
- {
- TVerdict result = EFail;
- INFO_PRINTF1(_L("Get the UID from the ini for which the sub session is to be opened"));
- TUid appUid;
- GetAppUidL(appUid);
-
- INFO_PRINTF1(_L("Get the expected filename of the Icon for an app from ini"));
- TPtrC IconFileName;
- if(GetStringFromConfig(ConfigSection(), _L("LocIconFileName"), IconFileName) == EFalse)
- {
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- }
-
- INFO_PRINTF1(_L("Open the sub session for the UID"));
- RRegistrationInfoForApplication AppRegInfoQueryAppSubSession;
- TRAPD(sessionerr,AppRegInfoQueryAppSubSession.OpenL(iScrSession,appUid));
- if(KErrNone != sessionerr)
- {
- INFO_PRINTF2(_L("Failed to create the subsession to the SCR server (Error:%d)."), sessionerr);
- User::Leave(sessionerr);
- }
-
-
- HBufC* filename = NULL;
- INFO_PRINTF1(_L("Retrieving the Icon for an app form db."));
-
- TInt err = KErrNotFound;
- TRAP(err, AppRegInfoQueryAppSubSession.GetAppIconL(filename));
- if(KErrNone == err)
- {
- INFO_PRINTF1(_L("Comparing the retrieved App Icon with the expected app capability within the ini"));
- if(!IconFileName.Compare(*filename))
- {
- result = EPass;
- }
- }
- else
- {
- if(NULL != filename)
- delete filename;
- AppRegInfoQueryAppSubSession.Close();
- User::Leave(err);
- }
-
-
- SetTestStepResult(result);
- if(NULL != filename)
- delete filename;
-
- //closing the resource handles
- AppRegInfoQueryAppSubSession.Close();
- }
-
-
-void CScrGetAppIconEntryStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-// -----------CScrGetAppViewIconEntryStep-----------------
-
-CScrGetAppViewIconEntryStep::CScrGetAppViewIconEntryStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppViewIconEntryStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppViewIconEntryStep::ImplTestStepL()
- {
- INFO_PRINTF1(_L("Get the App UID and View Uid from the ini for which the sub session is to be opened"));
- TUid appUid;
- TInt viewUid;
- GetAppUidL(appUid);
-
- if(GetIntFromConfig(ConfigSection(), _L("VwUid"), viewUid) == EFalse)
- {
- PrintErrorL(_L("View Uid was not found!"), KErrNotFound);
- }
-
- INFO_PRINTF1(_L("Get the expected filename of the View Icon for an app from ini"));
- TPtrC appFileName;
- if(GetStringFromConfig(ConfigSection(), _L("VwIconFileName"), appFileName)== EFalse)
- {
- PrintErrorL(_L("View Icon file Name was not found!"), KErrNotFound);
- }
-
- INFO_PRINTF1(_L("Open the sub session for the UID"));
- RRegistrationInfoForApplication AppRegInfoQueryAppSubSession;
- TRAPD(sessionerr,AppRegInfoQueryAppSubSession.OpenL(iScrSession,appUid));
- if(KErrNone != sessionerr)
- {
- INFO_PRINTF2(_L("Failed to create the subsession to the SCR server (Error:%d)."), sessionerr);
- User::Leave(sessionerr);
- }
-
- INFO_PRINTF1(_L("Retrieving the view icon file for an app form db."));
-
- HBufC* filename = NULL;
- TUid viewId = TUid::Uid(viewUid);
-
- TInt err = KErrNotFound;
- TRAP(err, AppRegInfoQueryAppSubSession.GetAppViewIconL(viewId,filename));
- if(KErrNone == err)
- {
- INFO_PRINTF1(_L("Comparing the retrieved view icon file with the expected view icon file within the ini"));
-
- if(!appFileName.Compare(*filename))
- {
- SetTestStepResult(EPass);
- }
- else
- {
- SetTestStepResult(EFail);
- }
- }
- else
- {
- if(NULL != filename)
- delete filename;
- AppRegInfoQueryAppSubSession.Close();
- User::Leave(err);
- }
- if(NULL != filename)
- delete filename;
- //closing the resource handles
- AppRegInfoQueryAppSubSession.Close();
- }
-
-
-void CScrGetAppViewIconEntryStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-// -----------CScrGetAppViewsStep-----------------
-
-CScrGetAppViewsStep::CScrGetAppViewsStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppViewsStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppViewsStep::ImplTestStepL()
- {
- TUid appUid;
- GetAppUidL(appUid);
- RPointerArray<Usif::CAppViewData> appViewInfoArrayExpected;
- CleanupResetAndDestroyPushL(appViewInfoArrayExpected);
- GetViewDataInfoFromConfigL(appViewInfoArrayExpected);
-
- RPointerArray<Usif::CAppViewData> appViewInfoArrayRetrieved;
- CleanupResetAndDestroyPushL(appViewInfoArrayRetrieved);
-
- RRegistrationInfoForApplication infoQuerySubSession;
- CleanupClosePushL(infoQuerySubSession);
-
- infoQuerySubSession.OpenL(iScrSession, appUid);
-
- // Start timer just before invocation of SCR API
- StartTimer();
- infoQuerySubSession.GetAppViewsL(appViewInfoArrayRetrieved);
-
- if(appViewInfoArrayExpected.Count()!=appViewInfoArrayRetrieved.Count())
- {
- ERR_PRINTF1(_L("Returned view data entry count doesnt match the expected count"));
- SetTestStepResult(EFail);
- }
- else
- {
- for(TInt i=0;i<appViewInfoArrayExpected.Count();i++)
- {
- const CCaptionAndIconInfo *captionAndIconInfoExpected = appViewInfoArrayExpected[i]->CaptionAndIconInfo();
- const CCaptionAndIconInfo *captionAndIconInfoRetrieved = appViewInfoArrayRetrieved[i]->CaptionAndIconInfo();
- if((appViewInfoArrayExpected[i]->Uid()!= appViewInfoArrayRetrieved[i]->Uid())||(appViewInfoArrayExpected[i]->ScreenMode()!= appViewInfoArrayRetrieved[i]->ScreenMode())||(NotEqual(captionAndIconInfoExpected, captionAndIconInfoRetrieved)))
- {
- ERR_PRINTF1(_L("Returned view data entry values don't match with the expected ones."));
- SetTestStepResult(EFail);
- }
- else
- {
- INFO_PRINTF2(_L("View details associated with view data entry %d"), i);
- INFO_PRINTF3(_L("ViewData Expected: Uid-%d, ScreenMode-%d"), (appViewInfoArrayExpected[i]->Uid()).iUid, appViewInfoArrayExpected[i]->ScreenMode());
- INFO_PRINTF3(_L("ViewData Retrieved: Uid-%d, ScreenMode-%d"), (appViewInfoArrayRetrieved[i]->Uid()).iUid, appViewInfoArrayRetrieved[i]->ScreenMode());
- if(captionAndIconInfoExpected!=NULL)
- {
- INFO_PRINTF4(_L("Associated caption details Expected: Caption-%S, No.of Icons-%d, IconFilename-%S"),&(captionAndIconInfoExpected->Caption()), captionAndIconInfoExpected->NumOfAppIcons(), &(captionAndIconInfoExpected->IconFileName()));
- INFO_PRINTF4(_L("Associated caption details Retrieved: Caption-%S, No.of Icons-%d, IconFilename-%S"), &(captionAndIconInfoRetrieved->Caption()), captionAndIconInfoRetrieved->NumOfAppIcons(), &(captionAndIconInfoRetrieved->IconFileName()));
- }
- else
- {
- INFO_PRINTF1(_L("No expected caption and icon info. No retrieved caption and icon info."));
- }
- }
- }
- }
- infoQuerySubSession.Close();
- CleanupStack::PopAndDestroy(1, &infoQuerySubSession);
- CleanupStack::Pop(2,&appViewInfoArrayExpected);
- appViewInfoArrayRetrieved.ResetAndDestroy();
- appViewInfoArrayExpected.ResetAndDestroy();
-
- }
-
-void CScrGetAppViewsStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-// -----------CScrGetAppServiceInfoStep-----------------
-
-CScrGetAppServiceInfoStep::CScrGetAppServiceInfoStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppServiceInfoStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppServiceInfoStep::ImplTestStepL()
- {
- RApplicationRegistrationInfo infoQuerySubSession;
- CleanupClosePushL(infoQuerySubSession);
- infoQuerySubSession.OpenL(iScrSession);
-
- TUid serviceUid, appUid;
- RPointerArray<Usif::CServiceInfo> appServiceInfoArrayExpected;
- CleanupResetAndDestroyPushL(appServiceInfoArrayExpected);
-
- RPointerArray<Usif::CServiceInfo> appServiceInfoArrayRetrieved;
- CleanupResetAndDestroyPushL(appServiceInfoArrayRetrieved);
-
- CAppServiceInfoFilter* appServiceInfoFilter = CAppServiceInfoFilter::NewLC();
-
- TInt filterToSet(0);
- if (!GetIntFromConfig(ConfigSection(), _L("FilterToSet"), filterToSet))
- PrintErrorL(_L("Filter to be set was not found!"), KErrNotFound);
-
- switch(filterToSet)
- {
- case 1:
- {
-
- //Testing GetAppServiceInfo given the appUid
- if (!GetUidFromConfig(ConfigSection(), _L("AppUid"), appUid))
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- INFO_PRINTF2(_L("AppUid is 0x%x"), appUid.iUid);
-
- appServiceInfoFilter->SetAppUidForServiceInfo(appUid);
-
- GetAppServiceInfoL(appServiceInfoArrayExpected);
-
- infoQuerySubSession.GetServiceInfoL(appServiceInfoFilter, appServiceInfoArrayRetrieved);
- break;
- }
- case 2:
- {
- //Testing GetAppServiceInfo given the serviceUid
-
- if(!GetUidFromConfig(ConfigSection(), _L("ServiceUid"), serviceUid))
- PrintErrorL(_L("ServiceUid was not found!"), KErrNotFound);
- INFO_PRINTF2(_L("ServiceUid is 0x%x"), serviceUid.iUid);
-
- appServiceInfoFilter->SetServiceUidForServiceImplementations(serviceUid);
-
- GetAppServiceInfoL(appServiceInfoArrayExpected);
-
- infoQuerySubSession.GetServiceInfoL(appServiceInfoFilter, appServiceInfoArrayRetrieved);
- break;
- }
- case 3:
- {
- //Testing GetAppServiceInfo given the serviceUid and dataType
- TPtrC dataType;
- if (!GetUidFromConfig(ConfigSection(), _L("ServiceUid"), serviceUid))
- PrintErrorL(_L("ServiceUid was not found!"), KErrNotFound);
- INFO_PRINTF2(_L("ServiceUid is 0x%x"), serviceUid.iUid);
-
- if(!GetStringFromConfig(ConfigSection(), _L("ServiceDataType"), dataType))
- PrintErrorL(_L("DataType was not found!"), KErrNotFound);
- INFO_PRINTF2(_L("DataType is %S"), &dataType);
-
- appServiceInfoFilter->SetServiceUidAndDatatTypeForServiceImplementationsL(serviceUid, dataType);
-
- GetAppServiceInfoL(appServiceInfoArrayExpected);
-
- infoQuerySubSession.GetServiceInfoL(appServiceInfoFilter, appServiceInfoArrayRetrieved);
- break;
- }
- case 4:
- {
- //Testing GetAppServiceInfo given the appUid and serviceUid
- if (!GetUidFromConfig(ConfigSection(), _L("AppUid"), appUid))
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
- INFO_PRINTF2(_L("AppUid is 0x%x"), appUid.iUid);
-
- if (!GetUidFromConfig(ConfigSection(), _L("ServiceUid"), serviceUid))
- PrintErrorL(_L("ServiceUid was not found!"), KErrNotFound);
- INFO_PRINTF2(_L("ServiceUid is 0x%x"), serviceUid.iUid);
-
- appServiceInfoFilter->SetAppUidAndServiceUidForOpaqueData(appUid, serviceUid);
-
- GetAppServiceInfoL(appServiceInfoArrayExpected);
-
- infoQuerySubSession.GetServiceInfoL(appServiceInfoFilter, appServiceInfoArrayRetrieved);
- break;
- }
- default:
- ERR_PRINTF1(_L("Incorrect value for filterToSet, values range from 1-4"));
- SetTestStepResult(EFail);
- break;
- }
-
- //check if they r equal
- if(NotEqualL(appServiceInfoArrayExpected, appServiceInfoArrayRetrieved))
- {
- ERR_PRINTF1(_L("Returned service data entry doesnt match the expected values"));
- SetTestStepResult(EFail);
- }
-
- //clean up
- CleanupStack::PopAndDestroy(4,&infoQuerySubSession); //appServiceInfoFilter, appServiceInfoArrayRetrieved, appServiceInfoArrayExpected, infoQuerySubSession
- }
-
-void CScrGetAppServiceInfoStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-// -----------CScrGetComponentIdForApp-----------------
-
-CScrGetComponentIdForApp::CScrGetComponentIdForApp(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetComponentIdForApp::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetComponentIdForApp::ImplTestStepL()
- {
- TUid appUid;
- CGlobalComponentId *globalId = GetGlobalComponentIdLC();
- TComponentId expectedCompId, retrievedCompId;
- if (!GetUidFromConfig(ConfigSection(), _L("AppUid"), appUid))
- PrintErrorL(_L("AppUid was not found!"), KErrNotFound);
-
- //Given the GlobalIdName and software type of the component anticipated, fetch the value of the expected ComponentId value.
- expectedCompId = iScrSession.GetComponentIdL(globalId->GlobalIdName(), globalId->SoftwareTypeName());
- CleanupStack::PopAndDestroy(globalId);
-
- //Fetch the ComponentId associated to the given App.
- retrievedCompId = iScrSession.GetComponentIdForAppL(appUid);
-
- INFO_PRINTF3(_L("Retrieved ComponentId is %d, and Expected componentId is %d "), retrievedCompId, expectedCompId);
- if(retrievedCompId != expectedCompId)
- {
- ERR_PRINTF1(_L("Retrieved componentId doesnot match the expected values"));
- SetTestStepResult(EFail);
- }
- }
-
-void CScrGetComponentIdForApp::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-
-// -----------CScrGetAppUidsForComponent-----------------
-
-CScrGetAppUidsForComponent::CScrGetAppUidsForComponent(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppUidsForComponent::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppUidsForComponent::ImplTestStepL()
- {
- TComponentId compId;
- TInt appCount = 0;
- RArray<TUid> expectedAppUid, retrievedAppUid;
- CleanupClosePushL(expectedAppUid);
- CleanupClosePushL(retrievedAppUid);
- TUid appUid;
- TBuf<20> appUidTxt;
- CGlobalComponentId *globalId = GetGlobalComponentIdLC();
-
- //Given the GlobalIdName and software type of the component, fetch the value of the componentId value whose associated apps have to be subsequently fetched.
- compId = iScrSession.GetComponentIdL(globalId->GlobalIdName(), globalId->SoftwareTypeName());
- CleanupStack::PopAndDestroy(globalId);
-
- if (!GetIntFromConfig(ConfigSection(), _L("AppCount"), appCount))
- PrintErrorL(_L("AppCount was not found!"), KErrNotFound);
-
- for(TInt i=0; i<appCount; i++)
- {
- appUidTxt = KAppUid;
- GenerateIndexedAttributeNameL(appUidTxt, i);
- if(!GetUidFromConfig(ConfigSection(), appUidTxt, appUid))
- PrintErrorL(_L("%S was not found!"), KErrNotFound, &appUidTxt);
- expectedAppUid.AppendL(appUid);
- }
-
- //Get the apps associated to the given componentId.
- INFO_PRINTF2(_L("Fetching apps asssociated to ComponentId %d"), compId);
- iScrSession.GetAppUidsForComponentL(compId, retrievedAppUid);
- if(expectedAppUid.Count()!= retrievedAppUid.Count())
- {
- ERR_PRINTF1(_L("Count of the retrieved appUids doesnt match the expected count"));
- SetTestStepResult(EFail);
- }
- retrievedAppUid.SortSigned();
- expectedAppUid.SortSigned();
-
- for(TInt i=0; i<expectedAppUid.Count();i++)
- {
- if(retrievedAppUid[i].iUid != expectedAppUid[i].iUid)
- {
- ERR_PRINTF3(_L("Mismatch in expected and retrieved AppUids! Expected Uid: %d, Retrieved Uid: %d"), expectedAppUid[i].iUid, retrievedAppUid[i].iUid);
- SetTestStepResult(EFail);
- break;
- }
- }
-
- CleanupStack::PopAndDestroy(2, &expectedAppUid); //retrievedAppUid, expectedAppUid
- }
-
-void CScrGetAppUidsForComponent::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-// -----------CScrAddConcurrentApplicationEntryStep-----------------
-
-CScrAddConcurrentApplicationEntryStep::CScrAddConcurrentApplicationEntryStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrAddConcurrentApplicationEntryStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrAddConcurrentApplicationEntryStep::ImplTestStepL()
- {
- TBool isSimultaneousCreateTransaction = EFalse;
- TBool isSimultaneousWriteReadAppInfoSameSession = EFalse;
- TBool isSimultaneousWriteAppInfoDiffSession = EFalse;
- TBool isSimultaneousReadAppInfoDiffSessionWithoutTransaction = EFalse;
-
- GetBoolFromConfig(ConfigSection(), _L("SimultaneousCreateTransaction"), isSimultaneousCreateTransaction);
- GetBoolFromConfig(ConfigSection(), _L("SimultaneousWriteReadAppInfoSameSession"), isSimultaneousWriteReadAppInfoSameSession);
- GetBoolFromConfig(ConfigSection(), _L("SimultaneousWriteAppInfoDiffSession"), isSimultaneousWriteAppInfoDiffSession);
- GetBoolFromConfig(ConfigSection(), _L("SimultaneousReadAppInfoDiffSessionWithoutTransaction"), isSimultaneousReadAppInfoDiffSessionWithoutTransaction);
-
- Usif::RSoftwareComponentRegistry scrSession1, scrSession2;
- TBool newComponentAdded(EFalse);
- // connect to the SCR
- scrSession1.Connect();
- scrSession2.Connect();
-
- if(isSimultaneousCreateTransaction)
- {
- // Create two transactions using two diffrent Scr Sessions, transactrion creation for
- // second scr session will fail( KErrScrWriteOperationInProgress)
- TRAPD(err, scrSession1.CreateTransactionL());
- if(KErrNone != err)
- {
- INFO_PRINTF2(_L("Failed to Create Transaction , error: %d"), err);
- SetTestStepResult(EFail);
- }
- else
- {
- //it will fail with KErrScrWriteOperationInProgress since two simultaneous transactions are not allowed.
- scrSession2.CreateTransactionL();
- }
- }
- else if(isSimultaneousWriteReadAppInfoSameSession)
- {
- //Create a transaction for the scr session , add the application info, then using the same scr session
- //create a subsession to read the app Info, will successfuly read the app info(fron SCR Journal)
- TComponentId compId = 0;
- CAppInfoFilter* appinfoFilter=NULL ;
- TBool isMultiApp(EFalse);
-
- // Create transaction
- TRAPD(err, scrSession1.CreateTransactionL());
- if(KErrNone != err)
- {
- INFO_PRINTF2(_L("Failed to Create Transaction , error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //WRITE INTO THE DB(Add App Info)
- GetBoolFromConfig(ConfigSection(), _L("IsMultiApp"), isMultiApp);
- if (isMultiApp)
- {
- INFO_PRINTF1(_L("Checking if the component is already present"));
- CGlobalComponentId *globalId = GetGlobalComponentIdLC();
- TRAP_IGNORE(compId = iScrSession.GetComponentIdL(globalId->GlobalIdName(), globalId->SoftwareTypeName()););
- CleanupStack::PopAndDestroy(globalId);
- }
-
- // Try adding the app to a component. The add operation will fail if the component is not present.
- if (!compId)
- {
- if (GetIntFromConfig(ConfigSection(), _L("UseComponentId"), compId))
- INFO_PRINTF2(_L("Adding a new AppRegInfo to component %d"), compId);
- }
-
- // The component is not present already
- if (!compId)
- {
- INFO_PRINTF1(_L("Adding a new component."));
- compId = AddNonLocalisableComponentL(iScrSession);
- newComponentAdded = ETrue;
- }
-
- INFO_PRINTF1(_L("Get reg info from config file."));
- const CApplicationRegistrationData* appRegData = GetAppRegInfoFromConfigLC();
- TRAP(err, scrSession1.AddApplicationEntryL(compId, *appRegData));
- if(KErrNone != err)
- {
- INFO_PRINTF2(_L("Failed to Create Transaction , error: %d"), err);
- SetTestStepResult(EFail);
- if (newComponentAdded)
- {
- // We are going to delete the component with no apps
- scrSession1.DeleteComponentL(compId);
- }
- }
-
- INFO_PRINTF1(_L("Read appinfo filter from configuration"));
- TRAP(err, ReadAppInfoFilterFromConfigL(&appinfoFilter));
- if (KErrNotFound==err)
- {
- delete appinfoFilter;
- appinfoFilter=NULL;
- }
-
- //READ FROM th DB the AppRegInfo
- RApplicationInfoView subSession;
- CleanupClosePushL(subSession);
- subSession.OpenViewL(scrSession1,appinfoFilter);
- if(appinfoFilter)
- delete appinfoFilter;
-
- RPointerArray<Usif::TAppRegInfo> appRegInfoSet;
- subSession.GetNextAppInfoL(5, appRegInfoSet);
-
- //No Need To Commit The Transaction as we only need to check whether we can read while the transaction(Write) is Alive.
-
- appRegInfoSet.ResetAndDestroy();
- CleanupStack::PopAndDestroy(&subSession);
- CleanupStack::Pop();
- delete appRegData;
- }
-
- else if(isSimultaneousWriteAppInfoDiffSession)
- {
- //Using two scr sessions ,create a transaction for only the first scr session(because creation of transaction for the second will result into an error)
- //, add the application info using both the scr sessions ,the second addition will result into an error( KErrScrWriteOperationInProgress)
- TComponentId compId = 0;
- TBool isMultiApp(EFalse);
-
- // Create transaction
- TRAPD(err, scrSession1.CreateTransactionL());
- if(KErrNone != err)
- {
- INFO_PRINTF2(_L("Failed to Create Transaction , error: %d"), err);
- SetTestStepResult(EFail);
- }
-
- //WRITE INTO THE DB(Add App Info)
- GetBoolFromConfig(ConfigSection(), _L("IsMultiApp"), isMultiApp);
- if (isMultiApp)
- {
- INFO_PRINTF1(_L("Checking if the component is already present"));
- CGlobalComponentId *globalId = GetGlobalComponentIdLC();
- TRAP_IGNORE(compId = iScrSession.GetComponentIdL(globalId->GlobalIdName(), globalId->SoftwareTypeName()););
- CleanupStack::PopAndDestroy(globalId);
- }
-
- // Try adding the app to a component. The add operation will fail if the component is not present.
- if (!compId)
- {
- if (GetIntFromConfig(ConfigSection(), _L("UseComponentId"), compId))
- INFO_PRINTF2(_L("Adding a new AppRegInfo to component %d"), compId);
- }
-
- // The component is not present already
- if (!compId)
- {
- INFO_PRINTF1(_L("Adding a new component."));
- compId = AddNonLocalisableComponentL(iScrSession);
- newComponentAdded = ETrue;
- }
-
- INFO_PRINTF1(_L("Get reg info from config file."));
- const CApplicationRegistrationData* appRegData = GetAppRegInfoFromConfigLC();
- TRAP(err, scrSession1.AddApplicationEntryL(compId, *appRegData));
- if(KErrNone != err)
- {
- INFO_PRINTF2(_L("Failed to Create Transaction , error: %d"), err);
- SetTestStepResult(EFail);
- if (newComponentAdded)
- {
- // We are going to delete the component with no apps
- scrSession1.DeleteComponentL(compId);
- }
- }
-
- //Trying to write(app app info) to the db while scrSession1 is alredy in process of writing.
- //It will fail with KErrScrWriteOperationInProgress since a transaction is alredy alive.
- scrSession2.AddApplicationEntryL(compId, *appRegData);
- CleanupStack::Pop();
- delete appRegData;
- }
-
- else if(isSimultaneousReadAppInfoDiffSessionWithoutTransaction)
- {
- //Two subsessions without a transaction simultaneously reading the db.
- CAppInfoFilter* appinfoFilter=NULL ;
-
- INFO_PRINTF1(_L("Read appinfo filter from configuration"));
- TRAPD(err, ReadAppInfoFilterFromConfigL(&appinfoFilter));
- if (KErrNotFound==err)
- {
- delete appinfoFilter;
- appinfoFilter=NULL;
- }
- CleanupStack::PushL(appinfoFilter);
-
-
- //READ the AppRegInfo for (scrSession1/subSession) and (scrSession2/subSession2)
- RApplicationInfoView subSession, subSession2;
- CleanupClosePushL(subSession);
- CleanupClosePushL(subSession2);
-
- subSession.OpenViewL(scrSession1,appinfoFilter);
- subSession2.OpenViewL(scrSession2,appinfoFilter);
-
-
- RPointerArray<Usif::TAppRegInfo> appRegInfoSet, appRegInfoSet2;
-
- subSession.GetNextAppInfoL(5, appRegInfoSet);
- subSession2.GetNextAppInfoL(5, appRegInfoSet2);
-
- appRegInfoSet.ResetAndDestroy();
- appRegInfoSet2.ResetAndDestroy();
-
- CleanupStack::PopAndDestroy(2, &subSession);
- CleanupStack::PopAndDestroy(appinfoFilter);
- }
-
- //Close the sessions
- scrSession1.Close();
- scrSession2.Close();
- }
-
-void CScrAddConcurrentApplicationEntryStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }
-
-// -----------CScrGetAppInfoStep-----------------
-
-CScrGetAppInfoStep::CScrGetAppInfoStep(CScrTestServer& aParent) : CScrTestStep(aParent)
- {
- }
-
-void CScrGetAppInfoStep::ImplTestStepPreambleL()
- {
- CScrTestStep::ImplTestStepPreambleL();
- }
-
-void CScrGetAppInfoStep::ImplTestStepL()
- {
- TLanguage locale;
- TBool result;
- TAppRegInfo retrievedAppRegEntry;
- TUid uid;
- TPtrC fullName, caption, shortCaption;
-
- _LIT(KAppInfoUid, "AppUid");
- if (!GetUidFromConfig(ConfigSection(), KAppInfoUid, uid))
- {
- ERR_PRINTF2(_L("The application Uid type param %S could not be found in configuration."), &KAppInfoUid);
- User::Leave(KErrNotFound);
- }
-
- _LIT(KAppInfoApplicationFilename, "AppFile");
- if(!GetStringFromConfig(ConfigSection(), KAppInfoApplicationFilename, fullName))
- {
- fullName.Set(KNull);
- }
-
- _LIT(KAppInfoCaption, "Caption");
- if(!GetStringFromConfig(ConfigSection(), KAppInfoCaption, caption))
- {
- caption.Set(KNull);
- }
-
- _LIT(KAppInfoShortCaption, "ShortCaption");
- if(!GetStringFromConfig(ConfigSection(), KAppInfoShortCaption, shortCaption))
- {
- shortCaption.Set(KNull);
- }
-
- RApplicationRegistrationInfo infoQuerySubSession;
- CleanupClosePushL(infoQuerySubSession);
- infoQuerySubSession.OpenL(iScrSession);
-
- _LIT(KLocaleParam, "Locale");
- if(GetLocaleFromConfigL(KLocaleParam,locale))
- {
- result = infoQuerySubSession.GetAppInfoL(uid, retrievedAppRegEntry, locale);
- }
- else
- {
- result = infoQuerySubSession.GetAppInfoL(uid, retrievedAppRegEntry);
- }
-
- if(result)
- {
- INFO_PRINTF3(_L("Expected Uid:0x%x Retrieved Uid:0x%x"), uid, retrievedAppRegEntry.Uid());
- INFO_PRINTF3(_L("Expected filename:%S Retrieved Filename: %s"), &fullName, retrievedAppRegEntry.FullName().PtrZ());
- INFO_PRINTF3(_L("Expected caption:%S Retrieved caption: %s"), &caption, retrievedAppRegEntry.Caption().PtrZ());
- INFO_PRINTF3(_L("Expected short caption:%S Retrieved caption: %s"), &shortCaption, retrievedAppRegEntry.ShortCaption().PtrZ());
- }
- else
- {
- INFO_PRINTF1(_L("The given application Uid is absent in the database."));
- }
-
- if(fullName!=retrievedAppRegEntry.FullName() ||caption!=retrievedAppRegEntry.Caption()|| shortCaption!=retrievedAppRegEntry.ShortCaption())
- {
- ERR_PRINTF1(_L("Mismatch in expected and retrieved values! "));
- SetTestStepResult(EFail);
- }
- else
- {
- INFO_PRINTF1(_L("Expected and retrieved results match."));
- }
-
- CleanupStack::PopAndDestroy(&infoQuerySubSession);
- }
-
-void CScrGetAppInfoStep::ImplTestStepPostambleL()
- {
- CScrTestStep::ImplTestStepPostambleL();
- }