diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/swcomponentregistry/inc_private/scrrequestimpl.h --- a/installationservices/swcomponentregistry/inc_private/scrrequestimpl.h Tue Aug 31 15:21:33 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,384 +0,0 @@ -/* -* Copyright (c) 2008-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: -* Declares the class which implements SCR's session and sub-session service requests. -* -*/ - - -/** - @file - @internalComponent - @released -*/ - -#ifndef SCRREQUESTIMPL_H -#define SCRREQUESTIMPL_H - -#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS -#include "screntries_internal.h" -#endif //SYMBIAN_ENABLE_SPLIT_HEADERS -#include "screntries.h" -#include "appregentries.h" -#include "appreginfo.h" -#include - -namespace Usif - { - // constants - static const TLanguage KLangNone = TLanguage(0); - static const TInt KMaxSwTypeIdDigits = 4; ///< Maximum number of digits a software type id may have. - static const TInt KMaxSwTypeIdValue = 0xFFFF; ///< Maximum value of a software type id. - - // forward declaration - class CDatabase; - class CStatement; - class CScrAsyncRequestImpl; - class CScrSession; - class CScrSubsession; - class CCompViewSubsessionContext; - class CAppInfoViewSubsessionContext; - class CRegInfoForApplicationSubsessionContext; - class CAppRegistrySubsessionContext; - class CApplicationRegInfoSubsessionContext; - - class CScrRequestImpl : public CBase - { - public: - static CScrRequestImpl* NewL(RFs& aFs, RFile& aDatabaseFile, RFile& aJournalFile); - ~CScrRequestImpl(); - - // Transaction Requests - void CreateTransactionL(); - void RollbackTransactionL(); - void CommitTransactionL(); - - // Component Management Requests - void AddComponentL(const RMessage2& aMessage); - void AddComponentDependencyL(const RMessage2& aMessage); - void SetComponentLocalizablePropertyL(const RMessage2& aMessage); - void SetComponentBinaryPropertyL(const RMessage2& aMessage); - void SetComponentIntPropertyL(const RMessage2& aMessage); - void RegisterComponentFileL(const RMessage2& aMessage); - void SetFileStrPropertyL(const RMessage2& aMessage); - void SetFileIntPropertyL(const RMessage2& aMessage); - void SetComponentNameL(const RMessage2& aMessage); - void SetVendorNameL(const RMessage2& aMessage); - void SetIsComponentRemovableL(const RMessage2& aMessage); - void SetIsComponentDrmProtectedL(const RMessage2& aMessage); - void SetIsComponentHiddenL(const RMessage2& aMessage); - void SetIsComponentKnownRevokedL(const RMessage2& aMessage); - void SetIsComponentOriginVerifiedL(const RMessage2& aMessage); - void SetComponentSizeL(const RMessage2& aMessage); - void SetComponentVersionL(const RMessage2& aMessage); - void DeleteComponentPropertyL(const RMessage2& aMessage); - void DeleteFilePropertyL(const RMessage2& aMessage); - void UnregisterComponentFileL(const RMessage2& aMessage); - void DeleteComponentL(const RMessage2& aMessage); - void DeleteComponentDependencyL(const RMessage2& aMessage); - - // Component Query requests - void GetComponentEntrySizeL(const RMessage2& aMessage) const; - void GetComponentEntryDataL(const RMessage2& aMessage) const; - void GetComponentLocalizedEntrySizeL(const RMessage2& aMessage) const; - void GetComponentLocalizedEntryDataL(const RMessage2& aMessage) const; - void GetFilePropertiesSizeL(const RMessage2& aMessage) const; - void GetFilePropertiesDataL(const RMessage2& aMessage) const; - void GetSingleFilePropertySizeL(const RMessage2& aMessage) const; - void GetSingleFilePropertyDataL(const RMessage2& aMessage) const; - void GetFileComponentsSizeL(const RMessage2& aMessage) const; - void GetFileComponentsDataL(const RMessage2& aMessage) const; - void GetComponentPropertiesSizeL(const RMessage2& aMessage) const; - void GetComponentPropertiesDataL(const RMessage2& aMessage) const; - void GetComponentSinglePropertySizeL(const RMessage2& aMessage) const; - void GetComponentSinglePropertyDataL(const RMessage2& aMessage) const; - void GetComponentIdListSizeL(const RMessage2& aMessage) const; - void GetComponentIdListDataL(const RMessage2& aMessage) const; - void GetComponentFilesCountL(const RMessage2& aMessage) const; - void GetComponentIdL(const RMessage2& aMessage) const; - void GetComponentWithGlobalIdSizeL(const RMessage2& aMessage) const; - void GetComponentWithGlobalIdDataL(const RMessage2& aMessage) const; - void GetSupplierComponentsSizeL(const RMessage2& aMessage) const; - void GetSupplierComponentsDataL(const RMessage2& aMessage) const; - void GetDependantComponentsSizeL(const RMessage2& aMessage) const; - void GetDependantComponentsDataL(const RMessage2& aMessage) const; - void GetComponentSupportedLocalesListSizeL(const RMessage2& aMessage) const; - void GetComponentSupportedLocalesListDataL(const RMessage2& aMessage) const; - - // Application Manager Requests - void GetIsMediaPresentL(const RMessage2& aMessage) const; - void GetIsComponentOrphanedL(const RMessage2& aMessage) const; - void GetLogFileHandleL(const RMessage2& aMessage) const; - void FlushLogEntriesArrayL(); - void GetIsComponentOnReadOnlyDriveL(const RMessage2& aMessage) const; - void GetIsComponentPresentL(const RMessage2& aMessage) const; - TBool IsComponentPresentL(TComponentId aComponentId) const; - void SetIsComponentPresentL(const RMessage2& aMessage); - - // SIF Requests - void SetScomoStateL(const RMessage2& aMessage); - void GetPluginUidWithMimeTypeL(const RMessage2& aMessage) const; - void GetPluginUidWithComponentIdL(const RMessage2& aMessage) const; - - // Security Layer Requests - TBool GetInstallerOrExecutionEnvSidsForComponentL(TComponentId aComponentId, RArray& aSids) const; - TBool GetSidsForSoftwareTypeIdL(TInt aSoftwareTypeId, RArray& aSids) const; - TBool GetSidsForSoftwareTypeL(const HBufC* aSoftwareTypeName, RArray& aSids) const; - TBool IsInstallerOrExecutionEnvSidL(TSecureId& aSid) const; - TBool GetIsComponentOrphanedL(TComponentId aComponentId) const; - TInt GetSoftwareTypeForComponentL(TComponentId aComponentId) const; - - // AppArc Requests - void GetApplicationLaunchersSizeL(const RMessage2& aMessage) const; - void GetApplicationLaunchersDataL(const RMessage2& aMessage) const; - - // Component's view operations - CComponentFilter* ReadComponentFilterL(const RMessage2& aMessage) const; - CStatement* OpenComponentViewL(CComponentFilter& aFilter, RArray& aComponentFilterSuperset, TBool& aFilterSupersetInUse) const; - void NextComponentSizeL(const RMessage2& aMessage, CStatement* aStmt, CComponentFilter* aFilter, CComponentEntry*& aEntry, CCompViewSubsessionContext* aSubsessionContext) const; - void NextComponentDataL(const RMessage2& aMessage, CComponentEntry*& aEntry) const; - void NextComponentSetSizeL(const RMessage2& aMessage, CStatement* aStmt, CComponentFilter* aFilter, RPointerArray& aEntryList, CCompViewSubsessionContext* aSubsessionContext) const; - void NextComponentSetDataL(const RMessage2& aMessage, RPointerArray& aEntryList) const; - - // Files's list operations - CStatement* OpenFileListL(const RMessage2& aMessage) const; - void NextFileSizeL(const RMessage2& aMessage, CStatement* aStmt, HBufC*& aFilePath) const; - void NextFileDataL(const RMessage2& aMessage, HBufC*& aFilePath) const; - void NextFileSetSizeL(const RMessage2& aMessage, CStatement* aStmt, RPointerArray& aFileList) const; - void NextFileSetDataL(const RMessage2& aMessage, RPointerArray& aFileList) const; - - // Static utility functions - code reuse between SCRServer and this class - static TComponentId GetComponentIdFromMsgL(const RMessage2& aMessage); - static HBufC* GetSoftwareTypeNameFromMsgLC(const RMessage2& aMessage); - static HBufC* ReadFileNameFromMsgLC(const RMessage2& aMessage); - - // Sofwtare type management operations - void AddSoftwareTypeL(const RMessage2& aMessage); - void DeleteSoftwareTypeL(const RMessage2& aMessage); - void GetDeletedMimeTypesL(const RMessage2& aMessage) const; - - // AppInfo's view operations - //CAppRegistrySubsession - void OpenApplicationRegistrationViewL(const RMessage2& aMessage, CAppRegistrySubsessionContext* aSubsessionContext); - void OpenApplicationRegistrationForAppUidsViewL(const RMessage2& aMessage, CAppRegistrySubsessionContext* aSubsessionContext); - void NextApplicationRegistrationInfoSizeL(const RMessage2& aMessage, CApplicationRegistrationData*& aApplicationRegistration, CAppRegistrySubsessionContext* aSubsessionContext); - void NextApplicationRegistrationInfoDataL(const RMessage2& aMessage, CApplicationRegistrationData*& aApplicationRegistration); - - //CAppInfoViewSubsession - CAppInfoFilter* ReadAppInfoFilterL(const RMessage2& aMessage) const; - void OpenAppInfoViewL(CAppInfoFilter& aFilter, CAppInfoViewSubsessionContext* aSubsessionContext); - TBool DoesAppWithScreenModeExistL(TUid aUid, TInt aScreenMode, TLanguage aLocale) const; - void GetAppUidsL(CAppInfoViewSubsessionContext* aSubsessionContext, TBool aScreenModePresent = EFalse) const; - void GetEmbeddableAppUidsL(CAppInfoViewSubsessionContext* aSubsessionContext, TBool aScreenModePresent = EFalse) const; - void GetServerAppUidsL(CAppInfoViewSubsessionContext* aSubsessionContext, TUid aServiceUid, TBool aScreenModePresent = EFalse) const; - void GetAppUidsWithEmbeddabilityFilterL(CAppInfoViewSubsessionContext* aSubsessionContext, TEmbeddableFilter& aFilter, TBool aScreenModePresent = EFalse) const; - void GetAppUidsWithCapabilityMaskAndValueL(CAppInfoViewSubsessionContext* aSubsessionContext,TUint aCapabilityAttrFilterMask, TUint aCapabilityAttrFilterValue, TBool aScreenModePresent = EFalse) const; - void GetAppServicesL(TUid aAppUid, RPointerArray& aServiceInfoArray, TLanguage aLocale) const; - void GetServiceImplementationsL(TUid aServiceUid, RPointerArray& aServiceInfoArray, TLanguage aLocale) const; - void GetServiceImplementationsL(TUid aServiceUid, TDesC& aDataType, RPointerArray& aServiceInfoArray, TLanguage aLocale) const; - void GetAppServiceOpaqueDataL(TUid aAppUid, TUid aServiceUid, RPointerArray& aServiceInfoArray, TLanguage aLocale) const; - void GetOpaqueDataArrayL(TUid aAppUid, TUid aServiceUid, RPointerArray& aOpaqueDataArray, TLanguage aLanguage) const; - void NextAppInfoSizeL(const RMessage2& aMessage, TAppRegInfo*& aAppInfo, CAppInfoViewSubsessionContext* aSubsessionContext); - void NextAppInfoDataL(const RMessage2& aMessage, TAppRegInfo*& aAppInfo); - - //CRegInfoForApplicationSubsession - void GetServiceUidSizeL(const RMessage2& aMessage, TUid aAppUid,CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetServiceUidDataL(const RMessage2& aMessage, CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void SetLocaleForRegInfoForApplicationSubsessionContextL(const RMessage2& aMessage, CRegInfoForApplicationSubsessionContext *aSubsessionContext); - void GetApplicationLanguageL(const RMessage2& aMessage, CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetDefaultScreenNumberL(const RMessage2& aMessage, TUid aAppUid) const; - void GetNumberOfOwnDefinedIconsL(const RMessage2& aMessage, TUid aAppUid,CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetViewSizeL(const RMessage2& aMessage, TUid aAppUid, CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetViewDataL(const RMessage2& aMessage, CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetViewsL(RPointerArray& aViewInfoArray,TUid aAppUid, TLanguage aLanguage)const; - void GetAppOwnedFilesSizeL(const RMessage2& aMessage, TUid aAppUid, CRegInfoForApplicationSubsessionContext *aSubsessionContext)const ; - void GetAppOwnedFilesDataL(const RMessage2& aMessage, CRegInfoForApplicationSubsessionContext *aSubsessionContext)const ; - void GetAppCharacteristicsL(const RMessage2& aMessage, TUid aAppUid) const; - void GetAppIconForFileNameL(const RMessage2& aMessage, TUid aAppUid, CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetAppViewIconFileNameL(const RMessage2& aMessage, TUid aAppUid, CRegInfoForApplicationSubsessionContext *aSubsessionContext) const; - void GetAppPropertiesInfoL(CApplicationRegistrationData& aApplicationRegistrationaApplicationRegistration,TUid aAppUid, TLanguage aLanguage); - //CApplicationRegInfoSubsession - void GetAppForDataTypeAndServiceL(const RMessage2& aMessage) const; - void GetAppForDataTypeL(const RMessage2& aMessage) const; - void GetAppServiceInfoSizeL(const RMessage2& aMessage, CApplicationRegInfoSubsessionContext *aSubsessionContext) const; - void GetAppServiceInfoDataL(const RMessage2& aMessage, CApplicationRegInfoSubsessionContext *aSubsessionContext) const; - void GetApplicationInfoL(const RMessage2& aMessage); - - //General functions to retrieve various application information, mostly used by CAppRegistrySubsession - TBool GetApplicationRegistrationInfoL(CApplicationRegistrationData& aApplicationRegistrationaApplicationRegistration,TUid aAppUid) const; - void GetFileOwnershipInfoL(CApplicationRegistrationData& aApplicationRegistrationaApplicationRegistration,TUid aAppUid) const; - void GetDataTypesL(RPointerArray & aDataTypes,TInt aServiceId)const; - void GetServiceInfoL(CApplicationRegistrationData& aApplicationRegistrationaApplicationRegistration,TUid aAppUid,TLanguage aLanguage) const; - void GetLocalizableAppInfoL(CApplicationRegistrationData& aApplicationRegistrationaApplicationRegistration,TUid aAppUid, TLanguage aLanguage); - CCaptionAndIconInfo* GetCaptionAndIconInfoL(TInt aCaptionAndIconId)const; - void GetAppRegOpaqueDataL(CApplicationRegistrationData& aApplicationRegistration,TUid aAppUid,TLanguage aLanguage) const; - - //General functions - void GetLocalesForAppIdL(RArray& aLocales, TUid aAppUid) const; - TBool CheckIfAppUidExistsL(const TUid aAppUid) const; - CStatement* CreateStatementForAppInfoL(const TDesC& aStatement, TLanguage aLocale, TInt aValuesNum,...) const; - void GetCaptionAndShortCaptionInfoForLocaleL(TUid aAppUid, TLanguage aLocale, TAppCaption& aShortCaption, TAppCaption& aCaption); - void GenerateNonNativeAppUidL(const RMessage2& aMessage); - - //Application related - void AddApplicationEntryL(const RMessage2& aMessage); - void DeleteAllAppsWithinPackageL(const RMessage2& aMessage); - void DeleteAllAppsWithinPackageInternalL(const TComponentId aComponentId); - void DeleteApplicationEntryL(const RMessage2& aMessage); - void DeleteApplicationEntryInternalL(const TInt aAppUid); - void GetComponentIdForAppL(const RMessage2& aMessage) const; - TBool GetComponentIdForAppInternalL(TUid aAppUid, TComponentId& aComponentId) const; - void GetAppUidsForComponentSizeL(const RMessage2& aMessage) const; - void GetAppUidsForComponentDataL(const RMessage2& aMessage)const; - - void AddFileOwnershipInfoL(TUid aAppUid, const TDesC& aFileName); - void AddServiceInfoL(TUid aAppUid, CServiceInfo* aAppServiceInfoEntry); - void AddServiceDataTypeL(TInt aServiceUid, Usif::CDataType* aDataTypeEntry); - void AddLocalizableAppInfoL(TUid aAppUid, Usif::CLocalizableAppInfo* aLocalizableAppInfoEntry); - void AddViewDataL(TInt aLocalAppInfoId, Usif::CAppViewData* aViewDataEntry); - TInt AddCaptionAndIconInfoL(CCaptionAndIconInfo* aCaptionAndIconEntry); - void AddPropertyL(TUid aAppUid, Usif::CPropertyEntry* aAppPropertiesEntry); - void AddOpaqueDataL(TUid aAppUid, Usif::COpaqueData* aOpaqueDataEntry, TUid aServiceUid = TUid::Null()); - void DeleteFromTableL(const TDesC& aTableName, const TDesC& aAttribute, const TInt aValue); - private: - CScrRequestImpl(RFs& aFs); - void ConstructL(RFile& aDatabaseFile, RFile& aJournalFile); - - private: - enum TValueType - { - EValueInteger = 0x01, - EValueString = 0x02, - EValueInteger64 = 0x03, - EValueLanguage = 0x04, - EValueBinary = 0x05, - }; - - enum TPropertyType - { - EPropertyUndefined = 0, // The property type is not defined yet - EPropertyInteger = 1, // The property type is integer - EPropertyLocalizable = 2, // The property type is a localizable string - EPropertyBinary = 3 // The property type is a non-localizable 8-bit descriptor - }; - - enum TFileOperationType - { - EFileRegistered, - EFileUnregistered - }; - - class TRollbackParams - { - public: - TRollbackParams(TInt aIdColumnVal, CScrRequestImpl& aReqImplHandle) - : iIdColumnVal(aIdColumnVal), iReqImplHandle(aReqImplHandle){} - - TInt iIdColumnVal; - CScrRequestImpl& iReqImplHandle; - }; - - static HBufC* ReadDescLC(const RMessage2& aMessage, TInt aSlot); - static HBufC8* ReadDesc8LC(const RMessage2& aMessage, TInt aSlot); - static TUint32 HashCaseInsensitiveL(const TDesC& aName); - static TUint32 HashCaseSensitiveL(const TDesC& aName); - static void ComponentRollback(TAny* aParam); - static void ComponentLocalizablesRollback(TAny* aParam); - - HBufC* FormatStatementLC(const TDesC& aStatement, TInt aFormatLength,...) const; - HBufC* GenerateGlobalIdL(const TDesC& aUniqueSwTypeName, const TDesC& aGlobalId) const; - TComponentId CommonAddComponentL(const TDesC& aUniqueSwTypeName, const TDesC& aGlobalId); - void AddComponentLocalizablesL(TComponentId aCompId, TLanguage aLocale, const TDesC& aName, const TDesC& aVendor); - HBufC* ReadAndGetGlobalIdLC(const RMessage2& aMessage, TInt aSlot) const; - TUint32 ReadAndHashGlobalIdL(const RMessage2& aMessage, TInt aGlobalIdNameSlot, TInt aSwTypeNameSlot) const; - TUint32 HashGlobalIdsL(const TDesC& aDependantId, const TDesC& aSupplierId) const; - CStatement* CreateGeneralPropertyStatementWithLocaleL(const TDesC& aStmtStr, TInt aIdColumnValue, TLanguage aLocale, const TDesC& aPropName, TBool aDoLocaleResolving=ETrue) const; - TInt FindGeneralPropertyNoLocaleDowngradeL(const TDesC& aTableName, const TDesC& aIdColumnName , TInt aIdColumnValue, const TDesC& aPropertyName, TLanguage aLocale, TPropertyType& aPropertyType) const; - void SetGeneralLocalizablePropertyL(CScrRequestImpl::TPropertyType aPropType, TInt aPropertyId, const TDesC& aIdColumnName , TInt aIdColumnValue, const TDesC& aPropName, TLanguage aLocale, const TDesC& aPropValue); - void SetGeneralBinaryPropertyL(CScrRequestImpl::TPropertyType aPropType, TInt aPropertyId, const TDesC& aTableName, const TDesC& aIdColumnName , TInt aIdColumnValue, const TDesC& aPropName, const TDesC8& aPropValue); - void SetGeneralIntPropertyL(TPropertyType aPropType, TInt aPropertyId, const TDesC& aTableName, const TDesC& aIdColumnName , TInt aIdColumnValue, const TDesC& aPropName, TInt64 aPropValue); - void ExecuteStatementL(TRefByValue, TInt aValuesNum=0,...); - void GetFileComponentsL(const TDesC& aFileName, RArray& aComponents) const; - TInt GetComponentFileIdL(const TDesC& aFileName, TComponentId aComponentId) const; - TInt FindComponentFileL(const TDesC& aFileName, TComponentId aComponentId) const; - void SetComponentLocalizableL(TComponentId aComponentId, TLanguage aLocale, const TDesC& aColumnName, const TDesC& aName, const TDesC& aVendor); - CPropertyEntry* GetGeneralSinglePropertyL(const TDesC& aTableName, const TDesC& aIdColumnName , TInt aIdColumnValue, const TDesC& aPropName, TLanguage aLocale) const; - CPropertyEntry* GetPropertyEntryL(CStatement& aStmt, const TDesC& aPropName, TInt aStartingIndex) const; - void AddGeneralPropertiesArrayWithLocaleL(const TDesC& aStmtStr, TLanguage aLocale, TComponentId aIdColumnValue, RPointerArray& aProperties) const; - void GetGeneralPropertiesArrayL(const TDesC& aTableName, const TDesC& aIdColumnName , TComponentId aIdColumnValue, TLanguage aLocale, RPointerArray& aProperties) const; - TBool BindAndProcessStatementObjectL(CStatement& aStatementObj, TLanguage aLanguage, TInt aValuesNum, VA_LIST aList) const; - CStatement* CreateStatementObjectWithoutLocaleL(const TDesC& aStatement, TInt aValuesNum,...) const; - CStatement* CreateStatementObjectWithLocaleL(const TDesC& aStatement, TLanguage aLocale, TInt aValuesNum,...) const; - CStatement* CreateStatementObjectWithLocaleNoDowngradeL(const TDesC& aStatement, TLanguage aLocale, TInt aValuesNum,...) const; - void BindStatementValuesL(CStatement& aStatement, TLanguage aLanguage, TInt aValuesNum, VA_LIST aList) const; - void GetComponentIdsHavingThePropertiesL(RArray& aComponentIds, RPointerArray& aProperties, RArray& aPropertyOperatorList, - TBool aDoIntersect) const; - CStatement* CreateStatementObjectForComponentLocalizablesLC(const TDesC& aName, const TDesC& aVendor, TUint aSetFlag, TComponentId aComponentId = 0 ) const; - void GetComponentsHavingNameVendorL(RArray& aComponentIds, const TDesC& aName, const TDesC& aVendor, TUint16 aSetFlag, TBool aDoIntersect) const; - CComponentEntry* GetNextComponentEntryL(CStatement& aStmt, CComponentFilter& aFilter, TLanguage aLocale, CCompViewSubsessionContext* aSubsessionContext) const; - HBufC* GetNextFilePathL(CStatement& aStmt) const; - CComponentEntry* CreateComponentEntryFromStatementHandleL(CStatement& aStmt) const; - CStatement* ExecuteLocalizableStatementL(const TDesC& aLocalizableStmtStr, const TDesC& aAnyValueStmtStr, TInt aConditionIntValue, TLanguage aConditionLocale) const; - void AddComponentEntryLocalizablesL(TComponentId aComponentId, CComponentEntry& aEntry, TLanguage aLocale) const; - void AddComponentEntryLocalizablesL(TComponentId aComponentId, CComponentEntry& aEntry, TLanguage aLocale, const CComponentFilter& aFilter) const; - void AddSoftwareTypeNameToComponentEntryL(CStatement& aStmt, CComponentEntry& aEntry, TLanguage aLocale) const; - TBool IsSoftwareTypeExistingL(TInt aSoftwareTypeId) const; - void GetGeneralComponentEntrySizeL(const RMessage2& aMessage, const TDesC& aConditionColumn, TUint32 aConditionValue, TInt aReturnSizeSlot, TLanguage aLocale, CComponentEntry*& aComponentEntry) const; - TInt GetDriveFromFilePath(const TDesC& aFilePath, TDriveUnit& aDriveUnit) const; - TInt InstalledDrivesToBitmaskL(const TDriveList& aDriveList) const; - void UpdateInstalledDrivesL(TComponentId aComponentId, const TDesC& aFilePath, TFileOperationType aType); - TBool GetSifPluginUidIInternalL(TInt aSoftwareTypeId, TInt& aValue) const; - TInt GetInstalledDrivesBitmaskL(TComponentId aComponentId) const; - CGlobalComponentId* ParseGlobalComponendIdLC(const TDesC& aGlobalId) const; - void GetGeneralDependencyListL(const TDesC& aSelectColumn, const TDesC& aConditionColumn, const TDesC& aConditionValue, RPointerArray &aVerCompIdList) const; - void ReadAndSetCommonComponentPropertyL(const RMessage2& aMessage, const TDesC& aPropertyColumn); - TBool HasFilesOnDriveL(TDriveUnit aDrive, TComponentId aComponentId); - CStatement* OpenFileListStatementL(TComponentId aComponentId) const; - TBool IsSoftwareTypeExistingL(TUint32 aSwTypeId, TUint32 aSifPluginUid, RArray& aSidArray, const RPointerArray& aMimeTypesArray, const RPointerArray& aLocalizedNamesArray, const TDesC& aLauncherExecutable); - void SubsessionAddLocalizableSoftwareTypeNameL(CStatement& aStmt, CComponentEntry& aEntry, TLanguage aLocale, CCompViewSubsessionContext* aSubsessionContext) const; - TBool IsDriveReadOnlyL(TInt driveIndex) const; - TBool CheckForMediaPresenceL(TComponentId aComponentId) const; - - TBool GetIntforConditionL(const TDesC& aSelectColumn, const TDesC& aTableInfo, const TDesC& aConditionColumn,TInt aConditionValue,TInt& aRetrievedValue) const; - TInt GetServiceIdForDataTypeL(const TDesC& aType) const; - TBool GetAppUidForServiceIdL(const TInt ServiceId, TUid& aAppUid) const; - TBool GetNearestAppLanguageL(TLanguage aRequiredLocale,TUid aAppUid,TLanguage& aFinalAppLocale) const; - void GetNearestAppLanguageForOpaqueDataL(TLanguage aRequiredLocale,TUid aAppUid,TUid aServiceUid,TLanguage& aFinalAppLocale) const; - void GetOperatorStringL(CComponentFilter::TDbOperator aOperator, HBufC*& aOperatorString) const; - - // DB Version management - void InitializeDbVersionL(); - void VerifyDbVersionCompatibilityL() const; - - private: - RFs& iFs; ///< Reference to the file handle. It is worth to consume a word of memory instead of passing the file handle to many functions. - CDatabase* iDbHandle; ///< Handle to the SCR database object. - TVersion iDbVersion; - mutable CComponentEntry* iComponentEntry; ///< The component entry whose size calculated and sent to the client. - mutable CPropertyEntry* iSingleProperty; - mutable RArray iFileComponents; - mutable RArray iComponentIdList; - mutable RPointerArray iProperties; - mutable RPointerArray iVerCompIdList; // The list of supplier/dependant versioned component IDs - mutable RPointerArray iDeletedMimeTypes; // The list of MIME types deleted as the result of software type deletion. - mutable RPointerArray iLogEntries; // The list of log entries recorded in a session - mutable RArray iMatchingSupportedLanguageList; // The list of matching supported language list recorded in a session - mutable RPointerArray iCompLocalizedInfoArray; //Component's localized information (name, vendor, locale) - mutable RArray iComponentAppUids; //List of Application Uids associated with a component - mutable RPointerArray iLaunchers; - }; - - } // End of namespace Usif - -#endif /* SCRREQUESTIMPL_H */