# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1272375975 -10800 # Node ID 98a43fae6e2b8fe81d6b4ade1f461bbd6b77c88f # Parent 09e5ea190d070fd0fafcb8c7b7f1f55832e00790 Revision: 201015 Kit: 201017 diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/engine/bwins/iaupdateengineu.def --- a/iaupdate/IAD/engine/bwins/iaupdateengineu.def Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/engine/bwins/iaupdateengineu.def Tue Apr 27 16:46:15 2010 +0300 @@ -1,91 +1,90 @@ EXPORTS - ??0CIAUpdateXmlParser@@IAE@PAVCIAUpdateXmlSubParser@@@Z @ 1 NONAME ; CIAUpdateXmlParser::CIAUpdateXmlParser(class CIAUpdateXmlSubParser *) - ??0CIAUpdateXmlSubParser@@IAE@XZ @ 2 NONAME ; CIAUpdateXmlSubParser::CIAUpdateXmlSubParser(void) - ??1CIAUpdateControllerFile@@UAE@XZ @ 3 NONAME ; CIAUpdateControllerFile::~CIAUpdateControllerFile(void) - ??1CIAUpdatePendingNodesFile@@UAE@XZ @ 4 NONAME ; CIAUpdatePendingNodesFile::~CIAUpdatePendingNodesFile(void) - ??1CIAUpdateRestartInfo@@UAE@XZ @ 5 NONAME ; CIAUpdateRestartInfo::~CIAUpdateRestartInfo(void) - ??1CIAUpdateXmlParser@@UAE@XZ @ 6 NONAME ; CIAUpdateXmlParser::~CIAUpdateXmlParser(void) - ??1CIAUpdateXmlSubParser@@UAE@XZ @ 7 NONAME ; CIAUpdateXmlSubParser::~CIAUpdateXmlSubParser(void) - ?AcceptData@CIAUpdateXmlSubParser@@IBEHXZ @ 8 NONAME ; int CIAUpdateXmlSubParser::AcceptData(void) const - ?AppPackageUidL@IAUpdateUtils@@YA?AVTUid@@ABV2@@Z @ 9 NONAME ; class TUid IAUpdateUtils::AppPackageUidL(class TUid const &) - ?AppPackageUidL@IAUpdateUtils@@YA?AVTUid@@ABV2@AAVTIAUpdateVersion@@@Z @ 10 NONAME ; class TUid IAUpdateUtils::AppPackageUidL(class TUid const &, class TIAUpdateVersion &) - ?ConstructL@CIAUpdateXmlParser@@MAEXXZ @ 11 NONAME ; void CIAUpdateXmlParser::ConstructL(void) - ?ConstructL@CIAUpdateXmlSubParser@@MAEXABVTDesC8@@@Z @ 12 NONAME ; void CIAUpdateXmlSubParser::ConstructL(class TDesC8 const &) - ?CreateControllerL@IAUpdateFactory@@YAPAVMIAUpdateController@@ABVTUid@@AAVMIAUpdateControllerObserver@@@Z @ 13 NONAME ; class MIAUpdateController * IAUpdateFactory::CreateControllerL(class TUid const &, class MIAUpdateControllerObserver &) - ?CurrentSubParser@CIAUpdateXmlSubParser@@IBEPAV1@XZ @ 14 NONAME ; class CIAUpdateXmlSubParser * CIAUpdateXmlSubParser::CurrentSubParser(void) const - ?DeleteFiles@CIAUpdateRestartInfo@@QAEXXZ @ 15 NONAME ; void CIAUpdateRestartInfo::DeleteFiles(void) - ?DesHexToIntL@IAUpdateUtils@@YAHABVTDesC16@@@Z @ 16 NONAME ; int IAUpdateUtils::DesHexToIntL(class TDesC16 const &) - ?DesToVersionL@IAUpdateUtils@@YAXABVTDesC16@@AAC1AAF@Z @ 17 NONAME ; void IAUpdateUtils::DesToVersionL(class TDesC16 const &, signed char &, signed char &, short &) - ?ElementTagInfoEquals@CIAUpdateXmlSubParser@@IBEHABVRTagInfo@Xml@@@Z @ 18 NONAME ; int CIAUpdateXmlSubParser::ElementTagInfoEquals(class Xml::RTagInfo const &) const - ?FilePath@CIAUpdatePendingNodesFile@@QBEABVTDesC16@@XZ @ 19 NONAME ; class TDesC16 const & CIAUpdatePendingNodesFile::FilePath(void) const - ?GetExtendedInterface@CIAUpdateXmlSubParser@@UAEPAXJ@Z @ 20 NONAME ; void * CIAUpdateXmlSubParser::GetExtendedInterface(long) - ?Index@CIAUpdatePendingNodesFile@@QBEHXZ @ 21 NONAME ; int CIAUpdatePendingNodesFile::Index(void) const - ?IsAppInstalledL@IAUpdateUtils@@YAHABVTUid@@@Z @ 22 NONAME ; int IAUpdateUtils::IsAppInstalledL(class TUid const &) - ?IsAppInstalledL@IAUpdateUtils@@YAHABVTUid@@AAVTIAUpdateVersion@@@Z @ 23 NONAME ; int IAUpdateUtils::IsAppInstalledL(class TUid const &, class TIAUpdateVersion &) - ?IsElementEnded@CIAUpdateXmlSubParser@@IBEHXZ @ 24 NONAME ; int CIAUpdateXmlSubParser::IsElementEnded(void) const - ?IsElementStarted@CIAUpdateXmlSubParser@@IBEHXZ @ 25 NONAME ; int CIAUpdateXmlSubParser::IsElementStarted(void) const - ?IsInstalledL@IAUpdateUtils@@YAHABVTUid@@ABVTDesC16@@@Z @ 26 NONAME ; int IAUpdateUtils::IsInstalledL(class TUid const &, class TDesC16 const &) - ?Language@CIAUpdateControllerFile@@QBE?AW4TLanguage@@XZ @ 27 NONAME ; enum TLanguage CIAUpdateControllerFile::Language(void) const - ?LocalName@CIAUpdateXmlSubParser@@IBEABVTDesC8@@XZ @ 28 NONAME ; class TDesC8 const & CIAUpdateXmlSubParser::LocalName(void) const - ?NewL@CIAUpdateControllerFile@@SAPAV1@ABVTDesC16@@@Z @ 29 NONAME ; class CIAUpdateControllerFile * CIAUpdateControllerFile::NewL(class TDesC16 const &) - ?NewL@CIAUpdateNetworkRegistration@@SAPAV1@AAVMIAUpdateNetworkRegistrationObserver@@@Z @ 30 NONAME ; class CIAUpdateNetworkRegistration * CIAUpdateNetworkRegistration::NewL(class MIAUpdateNetworkRegistrationObserver &) - ?NewL@CIAUpdatePendingNodesFile@@SAPAV1@XZ @ 31 NONAME ; class CIAUpdatePendingNodesFile * CIAUpdatePendingNodesFile::NewL(void) - ?NewL@CIAUpdateRestartInfo@@SAPAV1@XZ @ 32 NONAME ; class CIAUpdateRestartInfo * CIAUpdateRestartInfo::NewL(void) - ?NewL@CIAUpdateXmlParser@@SAPAV1@PAVCIAUpdateXmlSubParser@@@Z @ 33 NONAME ; class CIAUpdateXmlParser * CIAUpdateXmlParser::NewL(class CIAUpdateXmlSubParser *) - ?NewLC@CIAUpdateControllerFile@@SAPAV1@ABVTDesC16@@@Z @ 34 NONAME ; class CIAUpdateControllerFile * CIAUpdateControllerFile::NewLC(class TDesC16 const &) - ?NewLC@CIAUpdatePendingNodesFile@@SAPAV1@XZ @ 35 NONAME ; class CIAUpdatePendingNodesFile * CIAUpdatePendingNodesFile::NewLC(void) - ?NewLC@CIAUpdateRestartInfo@@SAPAV1@XZ @ 36 NONAME ; class CIAUpdateRestartInfo * CIAUpdateRestartInfo::NewLC(void) - ?NewLC@CIAUpdateXmlParser@@SAPAV1@PAVCIAUpdateXmlSubParser@@@Z @ 37 NONAME ; class CIAUpdateXmlParser * CIAUpdateXmlParser::NewLC(class CIAUpdateXmlSubParser *) - ?OnContentL@CIAUpdateXmlSubParser@@UAEXABVTDesC8@@H@Z @ 38 NONAME ; void CIAUpdateXmlSubParser::OnContentL(class TDesC8 const &, int) - ?OnEndDocumentL@CIAUpdateXmlSubParser@@UAEXH@Z @ 39 NONAME ; void CIAUpdateXmlSubParser::OnEndDocumentL(int) - ?OnEndElementL@CIAUpdateXmlSubParser@@UAEXABVRTagInfo@Xml@@H@Z @ 40 NONAME ; void CIAUpdateXmlSubParser::OnEndElementL(class Xml::RTagInfo const &, int) - ?OnEndPrefixMappingL@CIAUpdateXmlSubParser@@UAEXABVRString@@H@Z @ 41 NONAME ; void CIAUpdateXmlSubParser::OnEndPrefixMappingL(class RString const &, int) - ?OnError@CIAUpdateXmlSubParser@@UAEXH@Z @ 42 NONAME ; void CIAUpdateXmlSubParser::OnError(int) - ?OnIgnorableWhiteSpaceL@CIAUpdateXmlSubParser@@UAEXABVTDesC8@@H@Z @ 43 NONAME ; void CIAUpdateXmlSubParser::OnIgnorableWhiteSpaceL(class TDesC8 const &, int) - ?OnProcessingInstructionL@CIAUpdateXmlSubParser@@UAEXABVTDesC8@@0H@Z @ 44 NONAME ; void CIAUpdateXmlSubParser::OnProcessingInstructionL(class TDesC8 const &, class TDesC8 const &, int) - ?OnSkippedEntityL@CIAUpdateXmlSubParser@@UAEXABVRString@@H@Z @ 45 NONAME ; void CIAUpdateXmlSubParser::OnSkippedEntityL(class RString const &, int) - ?OnStartDocumentL@CIAUpdateXmlSubParser@@UAEXABVRDocumentParameters@Xml@@H@Z @ 46 NONAME ; void CIAUpdateXmlSubParser::OnStartDocumentL(class Xml::RDocumentParameters const &, int) - ?OnStartElementL@CIAUpdateXmlSubParser@@UAEXABVRTagInfo@Xml@@ABV?$RArray@VRAttribute@Xml@@@@H@Z @ 47 NONAME ; void CIAUpdateXmlSubParser::OnStartElementL(class Xml::RTagInfo const &, class RArray const &, int) - ?OnStartPrefixMappingL@CIAUpdateXmlSubParser@@UAEXABVRString@@0H@Z @ 48 NONAME ; void CIAUpdateXmlSubParser::OnStartPrefixMappingL(class RString const &, class RString const &, int) - ?ParseFileL@CIAUpdateXmlParser@@QAEXABVTDesC16@@@Z @ 49 NONAME ; void CIAUpdateXmlParser::ParseFileL(class TDesC16 const &) - ?ParseL@CIAUpdateXmlParser@@QAEXABVTDesC16@@@Z @ 50 NONAME ; void CIAUpdateXmlParser::ParseL(class TDesC16 const &) - ?ParseL@CIAUpdateXmlParser@@QAEXABVTDesC8@@@Z @ 51 NONAME ; void CIAUpdateXmlParser::ParseL(class TDesC8 const &) - ?ParsePrivateFileL@CIAUpdateXmlParser@@QAEXABVTDesC16@@@Z @ 52 NONAME ; void CIAUpdateXmlParser::ParsePrivateFileL(class TDesC16 const &) - ?PendingNodes@CIAUpdatePendingNodesFile@@QAEAAV?$RPointerArray@VCIAUpdaterIdentifier@@@@XZ @ 53 NONAME ; class RPointerArray & CIAUpdatePendingNodesFile::PendingNodes(void) - ?PendingNodesFile@CIAUpdateRestartInfo@@QAEAAVCIAUpdatePendingNodesFile@@XZ @ 54 NONAME ; class CIAUpdatePendingNodesFile & CIAUpdateRestartInfo::PendingNodesFile(void) - ?ReadControllerDataL@CIAUpdateControllerFile@@QAEHXZ @ 55 NONAME ; int CIAUpdateControllerFile::ReadControllerDataL(void) - ?ReadDataL@CIAUpdatePendingNodesFile@@QAEHXZ @ 56 NONAME ; int CIAUpdatePendingNodesFile::ReadDataL(void) - ?RefreshTime@CIAUpdateControllerFile@@QBEABVTTime@@XZ @ 57 NONAME ; class TTime const & CIAUpdateControllerFile::RefreshTime(void) const - ?RemoveFile@CIAUpdatePendingNodesFile@@QAEHXZ @ 58 NONAME ; int CIAUpdatePendingNodesFile::RemoveFile(void) - ?Reset@CIAUpdatePendingNodesFile@@QAEXXZ @ 59 NONAME ; void CIAUpdatePendingNodesFile::Reset(void) - ?ResultsFile@CIAUpdateRestartInfo@@QAEAAVCIAUpdaterResultsFile@@XZ @ 60 NONAME ; class CIAUpdaterResultsFile & CIAUpdateRestartInfo::ResultsFile(void) - ?SetCurrentData@CIAUpdateControllerFile@@QAEXXZ @ 61 NONAME ; void CIAUpdateControllerFile::SetCurrentData(void) - ?SetCurrentLanguage@CIAUpdateControllerFile@@QAEXXZ @ 62 NONAME ; void CIAUpdateControllerFile::SetCurrentLanguage(void) - ?SetCurrentRefreshTime@CIAUpdateControllerFile@@QAEXXZ @ 63 NONAME ; void CIAUpdateControllerFile::SetCurrentRefreshTime(void) - ?SetFilePathL@CIAUpdatePendingNodesFile@@QAEXABVTDesC16@@@Z @ 64 NONAME ; void CIAUpdatePendingNodesFile::SetFilePathL(class TDesC16 const &) - ?SetIndex@CIAUpdatePendingNodesFile@@QAEXH@Z @ 65 NONAME ; void CIAUpdatePendingNodesFile::SetIndex(int) - ?SetLanguage@CIAUpdateControllerFile@@QAEXW4TLanguage@@@Z @ 66 NONAME ; void CIAUpdateControllerFile::SetLanguage(enum TLanguage) - ?SetRefreshTime@CIAUpdateControllerFile@@QAEXABVTTime@@@Z @ 67 NONAME ; void CIAUpdateControllerFile::SetRefreshTime(class TTime const &) - ?SetRefreshTime@CIAUpdateControllerFile@@QAEX_J@Z @ 68 NONAME ; void CIAUpdateControllerFile::SetRefreshTime(long long) - ?SilentInstallOptionsL@IAUpdateUtils@@YA?AVTInstallOptions@SwiUI@@ABVTUid@@H@Z @ 69 NONAME ; class SwiUI::TInstallOptions IAUpdateUtils::SilentInstallOptionsL(class TUid const &, int) - ?SpaceAvailableInInternalDrivesL@IAUpdateUtils@@YAHAAV?$RPointerArray@VMIAUpdateNode@@@@@Z @ 70 NONAME ; int IAUpdateUtils::SpaceAvailableInInternalDrivesL(class RPointerArray &) - ?StartMonitoringL@CIAUpdateNetworkRegistration@@QAEXXZ @ 71 NONAME ; void CIAUpdateNetworkRegistration::StartMonitoringL(void) - ?SubParser@CIAUpdateXmlParser@@IAEAAVCIAUpdateXmlSubParser@@XZ @ 72 NONAME ; class CIAUpdateXmlSubParser & CIAUpdateXmlParser::SubParser(void) - ?SubParsers@CIAUpdateXmlSubParser@@IAEAAV?$RPointerArray@VCIAUpdateXmlSubParser@@@@XZ @ 73 NONAME ; class RPointerArray & CIAUpdateXmlSubParser::SubParsers(void) - ?UnknownElementCounter@CIAUpdateXmlSubParser@@IBEHXZ @ 74 NONAME ; int CIAUpdateXmlSubParser::UnknownElementCounter(void) const - ?WriteControllerDataL@CIAUpdateControllerFile@@QAEXXZ @ 75 NONAME ; void CIAUpdateControllerFile::WriteControllerDataL(void) - ?WriteDataL@CIAUpdatePendingNodesFile@@QAEXXZ @ 76 NONAME ; void CIAUpdatePendingNodesFile::WriteDataL(void) - ??0TIAUpdateVersion@@QAE@ABVTVersion@@@Z @ 77 NONAME ; TIAUpdateVersion::TIAUpdateVersion(class TVersion const &) - ??0TIAUpdateVersion@@QAE@XZ @ 78 NONAME ; TIAUpdateVersion::TIAUpdateVersion(void) - ??4TIAUpdateVersion@@QAEABV0@ABVTVersion@@@Z @ 79 NONAME ; class TIAUpdateVersion const & TIAUpdateVersion::operator=(class TVersion const &) - ??8TIAUpdateVersion@@QBEHABV0@@Z @ 80 NONAME ; int TIAUpdateVersion::operator==(class TIAUpdateVersion const &) const - ??9TIAUpdateVersion@@QBEHABV0@@Z @ 81 NONAME ; int TIAUpdateVersion::operator!=(class TIAUpdateVersion const &) const - ??MTIAUpdateVersion@@QBEHABV0@@Z @ 82 NONAME ; int TIAUpdateVersion::operator<(class TIAUpdateVersion const &) const - ??NTIAUpdateVersion@@QBEHABV0@@Z @ 83 NONAME ; int TIAUpdateVersion::operator<=(class TIAUpdateVersion const &) const - ??OTIAUpdateVersion@@QBEHABV0@@Z @ 84 NONAME ; int TIAUpdateVersion::operator>(class TIAUpdateVersion const &) const - ??PTIAUpdateVersion@@QBEHABV0@@Z @ 85 NONAME ; int TIAUpdateVersion::operator>=(class TIAUpdateVersion const &) const - ?InternalizeL@TIAUpdateVersion@@QAEXABVTDesC16@@@Z @ 86 NONAME ; void TIAUpdateVersion::InternalizeL(class TDesC16 const &) - ?SetToFloor@TIAUpdateVersion@@QAEXXZ @ 87 NONAME ; void TIAUpdateVersion::SetToFloor(void) - ?SetToRoof@TIAUpdateVersion@@QAEXXZ @ 88 NONAME ; void TIAUpdateVersion::SetToRoof(void) - ?IsWidgetInstalledL@IAUpdateUtils@@YAHABVTDesC16@@AAVTIAUpdateVersion@@@Z @ 89 NONAME ; int IAUpdateUtils::IsWidgetInstalledL(class TDesC16 const &, class TIAUpdateVersion &) + ?SetFilePathL@CIAUpdatePendingNodesFile@@QAEXABVTDesC16@@@Z @ 1 NONAME ; void CIAUpdatePendingNodesFile::SetFilePathL(class TDesC16 const &) + ?OnProcessingInstructionL@CIAUpdateXmlSubParser@@UAEXABVTDesC8@@0H@Z @ 2 NONAME ; void CIAUpdateXmlSubParser::OnProcessingInstructionL(class TDesC8 const &, class TDesC8 const &, int) + ?SetCurrentData@CIAUpdateControllerFile@@QAEXXZ @ 3 NONAME ; void CIAUpdateControllerFile::SetCurrentData(void) + ?ElementTagInfoEquals@CIAUpdateXmlSubParser@@IBEHABVRTagInfo@Xml@@@Z @ 4 NONAME ; int CIAUpdateXmlSubParser::ElementTagInfoEquals(class Xml::RTagInfo const &) const + ??PTIAUpdateVersion@@QBEHABV0@@Z @ 5 NONAME ; int TIAUpdateVersion::operator>=(class TIAUpdateVersion const &) const + ??OTIAUpdateVersion@@QBEHABV0@@Z @ 6 NONAME ; int TIAUpdateVersion::operator>(class TIAUpdateVersion const &) const + ?NewL@CIAUpdateXmlParser@@SAPAV1@PAVCIAUpdateXmlSubParser@@@Z @ 7 NONAME ; class CIAUpdateXmlParser * CIAUpdateXmlParser::NewL(class CIAUpdateXmlSubParser *) + ??NTIAUpdateVersion@@QBEHABV0@@Z @ 8 NONAME ; int TIAUpdateVersion::operator<=(class TIAUpdateVersion const &) const + ?IsElementEnded@CIAUpdateXmlSubParser@@IBEHXZ @ 9 NONAME ; int CIAUpdateXmlSubParser::IsElementEnded(void) const + ??MTIAUpdateVersion@@QBEHABV0@@Z @ 10 NONAME ; int TIAUpdateVersion::operator<(class TIAUpdateVersion const &) const + ?ParseFileL@CIAUpdateXmlParser@@QAEXABVTDesC16@@@Z @ 11 NONAME ; void CIAUpdateXmlParser::ParseFileL(class TDesC16 const &) + ?ParsePrivateFileL@CIAUpdateXmlParser@@QAEXABVTDesC16@@@Z @ 12 NONAME ; void CIAUpdateXmlParser::ParsePrivateFileL(class TDesC16 const &) + ?OnEndPrefixMappingL@CIAUpdateXmlSubParser@@UAEXABVRString@@H@Z @ 13 NONAME ; void CIAUpdateXmlSubParser::OnEndPrefixMappingL(class RString const &, int) + ?SubParsers@CIAUpdateXmlSubParser@@IAEAAV?$RPointerArray@VCIAUpdateXmlSubParser@@@@XZ @ 14 NONAME ; class RPointerArray & CIAUpdateXmlSubParser::SubParsers(void) + ?OnSkippedEntityL@CIAUpdateXmlSubParser@@UAEXABVRString@@H@Z @ 15 NONAME ; void CIAUpdateXmlSubParser::OnSkippedEntityL(class RString const &, int) + ?FilePath@CIAUpdatePendingNodesFile@@QBEABVTDesC16@@XZ @ 16 NONAME ; class TDesC16 const & CIAUpdatePendingNodesFile::FilePath(void) const + ?SetCurrentLanguage@CIAUpdateControllerFile@@QAEXXZ @ 17 NONAME ; void CIAUpdateControllerFile::SetCurrentLanguage(void) + ??1CIAUpdatePendingNodesFile@@UAE@XZ @ 18 NONAME ; CIAUpdatePendingNodesFile::~CIAUpdatePendingNodesFile(void) + ?ConstructL@CIAUpdateXmlParser@@MAEXXZ @ 19 NONAME ; void CIAUpdateXmlParser::ConstructL(void) + ??1CIAUpdateXmlSubParser@@UAE@XZ @ 20 NONAME ; CIAUpdateXmlSubParser::~CIAUpdateXmlSubParser(void) + ??4TIAUpdateVersion@@QAEABV0@ABVTVersion@@@Z @ 21 NONAME ; class TIAUpdateVersion const & TIAUpdateVersion::operator=(class TVersion const &) + ?WriteControllerDataL@CIAUpdateControllerFile@@QAEXXZ @ 22 NONAME ; void CIAUpdateControllerFile::WriteControllerDataL(void) + ?SetToRoof@TIAUpdateVersion@@QAEXXZ @ 23 NONAME ; void TIAUpdateVersion::SetToRoof(void) + ?OnStartElementL@CIAUpdateXmlSubParser@@UAEXABVRTagInfo@Xml@@ABV?$RArray@VRAttribute@Xml@@@@H@Z @ 24 NONAME ; void CIAUpdateXmlSubParser::OnStartElementL(class Xml::RTagInfo const &, class RArray const &, int) + ??0TIAUpdateVersion@@QAE@XZ @ 25 NONAME ; TIAUpdateVersion::TIAUpdateVersion(void) + ?GetExtendedInterface@CIAUpdateXmlSubParser@@UAEPAXJ@Z @ 26 NONAME ; void * CIAUpdateXmlSubParser::GetExtendedInterface(long) + ?OnError@CIAUpdateXmlSubParser@@UAEXH@Z @ 27 NONAME ; void CIAUpdateXmlSubParser::OnError(int) + ?SetCurrentRefreshTime@CIAUpdateControllerFile@@QAEXXZ @ 28 NONAME ; void CIAUpdateControllerFile::SetCurrentRefreshTime(void) + ?RemoveFile@CIAUpdatePendingNodesFile@@QAEHXZ @ 29 NONAME ; int CIAUpdatePendingNodesFile::RemoveFile(void) + ?ParseL@CIAUpdateXmlParser@@QAEXABVTDesC16@@@Z @ 30 NONAME ; void CIAUpdateXmlParser::ParseL(class TDesC16 const &) + ?CreateControllerL@IAUpdateFactory@@YAPAVMIAUpdateController@@ABVTUid@@AAVMIAUpdateControllerObserver@@@Z @ 31 NONAME ; class MIAUpdateController * IAUpdateFactory::CreateControllerL(class TUid const &, class MIAUpdateControllerObserver &) + ?OnStartPrefixMappingL@CIAUpdateXmlSubParser@@UAEXABVRString@@0H@Z @ 32 NONAME ; void CIAUpdateXmlSubParser::OnStartPrefixMappingL(class RString const &, class RString const &, int) + ?NewLC@CIAUpdateXmlParser@@SAPAV1@PAVCIAUpdateXmlSubParser@@@Z @ 33 NONAME ; class CIAUpdateXmlParser * CIAUpdateXmlParser::NewLC(class CIAUpdateXmlSubParser *) + ?OnStartDocumentL@CIAUpdateXmlSubParser@@UAEXABVRDocumentParameters@Xml@@H@Z @ 34 NONAME ; void CIAUpdateXmlSubParser::OnStartDocumentL(class Xml::RDocumentParameters const &, int) + ?SetToFloor@TIAUpdateVersion@@QAEXXZ @ 35 NONAME ; void TIAUpdateVersion::SetToFloor(void) + ?AcceptData@CIAUpdateXmlSubParser@@IBEHXZ @ 36 NONAME ; int CIAUpdateXmlSubParser::AcceptData(void) const + ?OnIgnorableWhiteSpaceL@CIAUpdateXmlSubParser@@UAEXABVTDesC8@@H@Z @ 37 NONAME ; void CIAUpdateXmlSubParser::OnIgnorableWhiteSpaceL(class TDesC8 const &, int) + ??9TIAUpdateVersion@@QBEHABV0@@Z @ 38 NONAME ; int TIAUpdateVersion::operator!=(class TIAUpdateVersion const &) const + ??8TIAUpdateVersion@@QBEHABV0@@Z @ 39 NONAME ; int TIAUpdateVersion::operator==(class TIAUpdateVersion const &) const + ?NewL@CIAUpdateControllerFile@@SAPAV1@ABVTDesC16@@@Z @ 40 NONAME ; class CIAUpdateControllerFile * CIAUpdateControllerFile::NewL(class TDesC16 const &) + ?IsInstalledL@IAUpdateUtils@@YAHABVTUid@@ABVTDesC16@@@Z @ 41 NONAME ; int IAUpdateUtils::IsInstalledL(class TUid const &, class TDesC16 const &) + ?AppPackageUidL@IAUpdateUtils@@YA?AVTUid@@ABV2@AAVTIAUpdateVersion@@@Z @ 42 NONAME ; class TUid IAUpdateUtils::AppPackageUidL(class TUid const &, class TIAUpdateVersion &) + ?WriteDataL@CIAUpdatePendingNodesFile@@QAEXXZ @ 43 NONAME ; void CIAUpdatePendingNodesFile::WriteDataL(void) + ?ConstructL@CIAUpdateXmlSubParser@@MAEXABVTDesC8@@@Z @ 44 NONAME ; void CIAUpdateXmlSubParser::ConstructL(class TDesC8 const &) + ?DeleteFiles@CIAUpdateRestartInfo@@QAEXXZ @ 45 NONAME ; void CIAUpdateRestartInfo::DeleteFiles(void) + ?SpaceAvailableInInternalDrivesL@IAUpdateUtils@@YAHAAV?$RPointerArray@VMIAUpdateNode@@@@@Z @ 46 NONAME ; int IAUpdateUtils::SpaceAvailableInInternalDrivesL(class RPointerArray &) + ?IsAppInstalledL@IAUpdateUtils@@YAHABVTUid@@@Z @ 47 NONAME ; int IAUpdateUtils::IsAppInstalledL(class TUid const &) + ?ReadControllerDataL@CIAUpdateControllerFile@@QAEHXZ @ 48 NONAME ; int CIAUpdateControllerFile::ReadControllerDataL(void) + ??0TIAUpdateVersion@@QAE@ABVTVersion@@@Z @ 49 NONAME ; TIAUpdateVersion::TIAUpdateVersion(class TVersion const &) + ?OnEndElementL@CIAUpdateXmlSubParser@@UAEXABVRTagInfo@Xml@@H@Z @ 50 NONAME ; void CIAUpdateXmlSubParser::OnEndElementL(class Xml::RTagInfo const &, int) + ?AppPackageUidL@IAUpdateUtils@@YA?AVTUid@@ABV2@@Z @ 51 NONAME ; class TUid IAUpdateUtils::AppPackageUidL(class TUid const &) + ?StartMonitoringL@CIAUpdateNetworkRegistration@@QAEXXZ @ 52 NONAME ; void CIAUpdateNetworkRegistration::StartMonitoringL(void) + ?UnknownElementCounter@CIAUpdateXmlSubParser@@IBEHXZ @ 53 NONAME ; int CIAUpdateXmlSubParser::UnknownElementCounter(void) const + ?SetLanguage@CIAUpdateControllerFile@@QAEXW4TLanguage@@@Z @ 54 NONAME ; void CIAUpdateControllerFile::SetLanguage(enum TLanguage) + ?DesHexToIntL@IAUpdateUtils@@YAHABVTDesC16@@@Z @ 55 NONAME ; int IAUpdateUtils::DesHexToIntL(class TDesC16 const &) + ??1CIAUpdateXmlParser@@UAE@XZ @ 56 NONAME ; CIAUpdateXmlParser::~CIAUpdateXmlParser(void) + ?SetRefreshTime@CIAUpdateControllerFile@@QAEX_J@Z @ 57 NONAME ; void CIAUpdateControllerFile::SetRefreshTime(long long) + ??0CIAUpdateXmlSubParser@@IAE@XZ @ 58 NONAME ; CIAUpdateXmlSubParser::CIAUpdateXmlSubParser(void) + ?ReadDataL@CIAUpdatePendingNodesFile@@QAEHXZ @ 59 NONAME ; int CIAUpdatePendingNodesFile::ReadDataL(void) + ?NewLC@CIAUpdateRestartInfo@@SAPAV1@XZ @ 60 NONAME ; class CIAUpdateRestartInfo * CIAUpdateRestartInfo::NewLC(void) + ??1CIAUpdateRestartInfo@@UAE@XZ @ 61 NONAME ; CIAUpdateRestartInfo::~CIAUpdateRestartInfo(void) + ?NewLC@CIAUpdateControllerFile@@SAPAV1@ABVTDesC16@@@Z @ 62 NONAME ; class CIAUpdateControllerFile * CIAUpdateControllerFile::NewLC(class TDesC16 const &) + ?InternalizeL@TIAUpdateVersion@@QAEXABVTDesC16@@@Z @ 63 NONAME ; void TIAUpdateVersion::InternalizeL(class TDesC16 const &) + ?SetRefreshTime@CIAUpdateControllerFile@@QAEXABVTTime@@@Z @ 64 NONAME ; void CIAUpdateControllerFile::SetRefreshTime(class TTime const &) + ?RefreshTime@CIAUpdateControllerFile@@QBEABVTTime@@XZ @ 65 NONAME ; class TTime const & CIAUpdateControllerFile::RefreshTime(void) const + ?Language@CIAUpdateControllerFile@@QBE?AW4TLanguage@@XZ @ 66 NONAME ; enum TLanguage CIAUpdateControllerFile::Language(void) const + ?NewLC@CIAUpdatePendingNodesFile@@SAPAV1@XZ @ 67 NONAME ; class CIAUpdatePendingNodesFile * CIAUpdatePendingNodesFile::NewLC(void) + ?Index@CIAUpdatePendingNodesFile@@QBEHXZ @ 68 NONAME ; int CIAUpdatePendingNodesFile::Index(void) const + ?IsWidgetInstalledL@IAUpdateUtils@@YAHABVTDesC16@@AAVTIAUpdateVersion@@@Z @ 69 NONAME ; int IAUpdateUtils::IsWidgetInstalledL(class TDesC16 const &, class TIAUpdateVersion &) + ?PendingNodesFile@CIAUpdateRestartInfo@@QAEAAVCIAUpdatePendingNodesFile@@XZ @ 70 NONAME ; class CIAUpdatePendingNodesFile & CIAUpdateRestartInfo::PendingNodesFile(void) + ?CurrentSubParser@CIAUpdateXmlSubParser@@IBEPAV1@XZ @ 71 NONAME ; class CIAUpdateXmlSubParser * CIAUpdateXmlSubParser::CurrentSubParser(void) const + ?SetIndex@CIAUpdatePendingNodesFile@@QAEXH@Z @ 72 NONAME ; void CIAUpdatePendingNodesFile::SetIndex(int) + ?PendingNodes@CIAUpdatePendingNodesFile@@QAEAAV?$RPointerArray@VCIAUpdaterIdentifier@@@@XZ @ 73 NONAME ; class RPointerArray & CIAUpdatePendingNodesFile::PendingNodes(void) + ?SubParser@CIAUpdateXmlParser@@IAEAAVCIAUpdateXmlSubParser@@XZ @ 74 NONAME ; class CIAUpdateXmlSubParser & CIAUpdateXmlParser::SubParser(void) + ?IsElementStarted@CIAUpdateXmlSubParser@@IBEHXZ @ 75 NONAME ; int CIAUpdateXmlSubParser::IsElementStarted(void) const + ?IsAppInstalledL@IAUpdateUtils@@YAHABVTUid@@AAVTIAUpdateVersion@@@Z @ 76 NONAME ; int IAUpdateUtils::IsAppInstalledL(class TUid const &, class TIAUpdateVersion &) + ?LocalName@CIAUpdateXmlSubParser@@IBEABVTDesC8@@XZ @ 77 NONAME ; class TDesC8 const & CIAUpdateXmlSubParser::LocalName(void) const + ?DesToVersionL@IAUpdateUtils@@YAXABVTDesC16@@AAC1AAF@Z @ 78 NONAME ; void IAUpdateUtils::DesToVersionL(class TDesC16 const &, signed char &, signed char &, short &) + ?OnContentL@CIAUpdateXmlSubParser@@UAEXABVTDesC8@@H@Z @ 79 NONAME ; void CIAUpdateXmlSubParser::OnContentL(class TDesC8 const &, int) + ?ParseL@CIAUpdateXmlParser@@QAEXABVTDesC8@@@Z @ 80 NONAME ; void CIAUpdateXmlParser::ParseL(class TDesC8 const &) + ?Reset@CIAUpdatePendingNodesFile@@QAEXXZ @ 81 NONAME ; void CIAUpdatePendingNodesFile::Reset(void) + ??1CIAUpdateControllerFile@@UAE@XZ @ 82 NONAME ; CIAUpdateControllerFile::~CIAUpdateControllerFile(void) + ?NewL@CIAUpdateRestartInfo@@SAPAV1@XZ @ 83 NONAME ; class CIAUpdateRestartInfo * CIAUpdateRestartInfo::NewL(void) + ?OnEndDocumentL@CIAUpdateXmlSubParser@@UAEXH@Z @ 84 NONAME ; void CIAUpdateXmlSubParser::OnEndDocumentL(int) + ?ResultsFile@CIAUpdateRestartInfo@@QAEAAVCIAUpdaterResultsFile@@XZ @ 85 NONAME ; class CIAUpdaterResultsFile & CIAUpdateRestartInfo::ResultsFile(void) + ??0CIAUpdateXmlParser@@IAE@PAVCIAUpdateXmlSubParser@@@Z @ 86 NONAME ; CIAUpdateXmlParser::CIAUpdateXmlParser(class CIAUpdateXmlSubParser *) + ?NewL@CIAUpdateNetworkRegistration@@SAPAV1@AAVMIAUpdateNetworkRegistrationObserver@@@Z @ 87 NONAME ; class CIAUpdateNetworkRegistration * CIAUpdateNetworkRegistration::NewL(class MIAUpdateNetworkRegistrationObserver &) + ?NewL@CIAUpdatePendingNodesFile@@SAPAV1@XZ @ 88 NONAME ; class CIAUpdatePendingNodesFile * CIAUpdatePendingNodesFile::NewL(void) diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/engine/controller/src/iaupdateinstalloperation.cpp --- a/iaupdate/IAD/engine/controller/src/iaupdateinstalloperation.cpp Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/engine/controller/src/iaupdateinstalloperation.cpp Tue Apr 27 16:46:15 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -206,8 +206,8 @@ // Install interface was available. // So, start installing with silent install operation. SwiUI::TInstallOptions options( - IAUpdateUtils::SilentInstallOptionsL( - Node().Uid(), Node().OwnContentSizeL() ) ); + IAUpdateUtils::SilentInstallOptionsL( Node() ) ); + operation = install->SilentInstallL( *this, options ); if( !operation ) diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/engine/controller/src/iaupdateutils.cpp --- a/iaupdate/IAD/engine/controller/src/iaupdateutils.cpp Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/engine/controller/src/iaupdateutils.cpp Tue Apr 27 16:46:15 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* 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 "Eclipse Public License v1.0" @@ -22,7 +22,9 @@ #include "iaupdateversion.h" #include "iaupdatenode.h" #include "iaupdatebasenode.h" +#include "iaupdatebasenodeimpl.h" #include "iaupdatefwversionfilehandler.h" +#include "iaupdateprotocolconsts.h" #include "iaupdatedebug.h" #include @@ -40,10 +42,11 @@ #include //Constants -const TInt KSpaceMarginal( 100 * 1024 ); -const TInt KSizeMultiplier( 1 ); const TText KVersionSeparator( '.' ); +_LIT( KExe, ".exe" ); +_LIT( KDll, ".dll" ); + // ----------------------------------------------------------------------------- // IAUpdateUtils::DesHexToIntL @@ -355,28 +358,29 @@ RFs fs; User::LeaveIfError( fs.Connect() ); CleanupClosePushL( fs ); + + for ( i = 0; i < aNodes.Count(); ++i ) + { + MIAUpdateNode* node( aNodes[ i ] ); + MIAUpdateBaseNode& baseNode( node->Base() ); + if ( baseNode.ContentSizeL() > sizeOfBiggest ) + { + sizeOfBiggest = baseNode.ContentSizeL(); + } + } + TInt64 freeOnC = FreeDiskSpace( fs, EDriveC ); TInt64 freeOnE = FreeDiskSpace( fs, EDriveE ); - - if ( freeOnC >= freeOnE ) - { - for ( i = 0; i < aNodes.Count(); ++i ) - { - MIAUpdateNode* node( aNodes[ i ] ); - MIAUpdateBaseNode& baseNode( node->Base() ); - if ( baseNode.ContentSizeL() > sizeOfBiggest ) - { - sizeOfBiggest = baseNode.ContentSizeL(); - } - } - } - TDriveUnit driveUnit( EDriveC ); + if ( freeOnE > freeOnC ) + { + driveUnit = EDriveE; + } if ( SysUtil::DiskSpaceBelowCriticalLevelL( &fs, sizeOfBiggest, driveUnit ) ) { // no space even for package caching enoughSpaceFound = EFalse; } - else +/* else { TInt sizeNeededInDrive = sizeOfBiggest + KSpaceMarginal; //size of the biggest package is included in C drive for ( i = 0; i < aNodes.Count() && enoughSpaceFound; ++i ) @@ -384,7 +388,7 @@ TDriveUnit installedDrive; MIAUpdateNode* node( aNodes[ i ] ); MIAUpdateBaseNode& baseNode( node->Base() ); - if ( !IAUpdateUtils::InstalledDriveL( baseNode.Uid(), installedDrive ) ) + if ( !IAUpdateUtils::InstalledDriveL( fs, baseNode.Uid(), installedDrive ) ) { //let's assume that already installed package does not need extra space sizeNeededInDrive += ( baseNode.ContentSizeL() * KSizeMultiplier ); if ( SysUtil::DiskSpaceBelowCriticalLevelL( &fs, sizeNeededInDrive, driveUnit ) ) @@ -416,7 +420,7 @@ } } } - } + }*/ CleanupStack::PopAndDestroy( &fs ); return enoughSpaceFound; } @@ -463,9 +467,10 @@ // // --------------------------------------------------------------------------- // -EXPORT_C SwiUI::TInstallOptions IAUpdateUtils::SilentInstallOptionsL( - const TUid& aUid, TInt aSize ) +SwiUI::TInstallOptions IAUpdateUtils::SilentInstallOptionsL( + const CIAUpdateBaseNode& aNode ) { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::SilentInstallOptionsL() begin"); SwiUI::TInstallOptions options; // Upgrades are allowed @@ -500,8 +505,20 @@ options.iDownload = SwiUI::EPolicyAllowed; // Where to save. - TDriveUnit driveUnit = IAUpdateUtils::DriveToInstallL( aUid, aSize ); + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::SilentInstallOptionsL() before DriveToInstallL"); + TDriveUnit driveUnit; + if ( aNode.Mime().Compare( IAUpdateProtocolConsts::KMimeWidget ) == 0 ) + { + driveUnit = IAUpdateUtils::DriveToInstallWidgetL( aNode.Identifier() ); + } + else + { + driveUnit = IAUpdateUtils::DriveToInstallL( aNode.Uid(), aNode.OwnContentSizeL() ); + } + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::SilentInstallOptionsL() after DriveToInstallL"); + TDriveName driveName = driveUnit.Name(); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::SilentInstallOptionsL() driveName: %S", &driveName ); options.iDrive = driveName[0]; // Choose the phone language. @@ -512,7 +529,7 @@ // Does not affect SISX. This is for Java. options.iUpgradeData = SwiUI::EPolicyAllowed; - + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::SilentInstallOptionsL() end"); return options; } @@ -522,9 +539,10 @@ // // ----------------------------------------------------------------------------- // -TBool IAUpdateUtils::InstalledDriveL( - const TUid& aUid, TDriveUnit& aLocationDrive ) +TBool IAUpdateUtils::InstalledDriveL( + RFs& aFs, const TUid& aUid, TDriveUnit& aLocationDrive ) { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveL() begin"); TBool installed = EFalse; Swi::RSisRegistrySession registrySession; User::LeaveIfError( registrySession.Connect() ); @@ -541,23 +559,75 @@ if ( ( !entry.IsInRomL() ) && ( entry.IsPresentL() ) ) { //only interested in a drive available for installation just now installed = ETrue; - TUint drivesMask = entry.InstalledDrivesL(); + } + + if ( !entry.IsInRomL() ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveL() entry not in ROM"); + TUint drivesMask = entry.InstalledDrivesL(); if( drivesMask ) { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveL() drivesMask exists"); // Select the highest drive as location drive. That's the case when // all installation is not in same drive + TInt driveCount = 0; TInt drive = EDriveA; while( drivesMask >>= 1 ) { + driveCount++; drive++; } - aLocationDrive = drive; + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::InstalledDriveL() driveCount: %d", driveCount ); + if ( driveCount > 1 ) + { + // installation is in multiple drives + // the drive where are binaries (EXEs and DLLs) is chosen + RArray drivesWithBinaries; + CleanupClosePushL( drivesWithBinaries ); + DrivesWithBinariesL( entry, drivesWithBinaries ); + if ( drivesWithBinaries.Count() == 0 ) + { + //let's assume the highest drive + aLocationDrive = drive; + } + else if ( drivesWithBinaries.Count() == 1 ) + { + // there are binaries only in one drive, this one is chosen + aLocationDrive = drivesWithBinaries[0]; + } + else + { + // there are binaries in multiple drives, C drive is chosen + aLocationDrive = EDriveC; + } + CleanupStack::PopAndDestroy( &drivesWithBinaries ); + } + else + { + aLocationDrive = drive; + } } else { // No installed files, select C: as location drive aLocationDrive = EDriveC; } + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::InstalledDriveL() location drive: %d", aLocationDrive.operator int() ); + // if the drive chosen is physically removable and it's not available, then install to C drive + TUint driveStatus = 0; + User::LeaveIfError( DriveInfo::GetDriveStatus( aFs, aLocationDrive, driveStatus ) ); + if ( driveStatus & DriveInfo::EDriveRemovable ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveL() removable"); + } + if ( driveStatus & DriveInfo::EDrivePresent ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveL() present"); + } + if ( ( driveStatus & DriveInfo::EDriveRemovable ) && ( !(driveStatus & DriveInfo::EDrivePresent) ) ) + { + aLocationDrive = EDriveC; + } } CleanupStack::PopAndDestroy( &entry ); } @@ -567,9 +637,46 @@ } CleanupStack::PopAndDestroy( ®istrySession ); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::InstalledDriveL() installed: %d", installed ); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::InstalledDriveL() target drive: %d", aLocationDrive.operator int() ); return installed; } +// ----------------------------------------------------------------------------- +// IAUpdateUtils::InstalledDriveWidgetL +// +// ----------------------------------------------------------------------------- +// +void IAUpdateUtils::InstalledDriveWidgetL( RFs& aFs, + RWidgetRegistryClientSession& aWidgetRegistry, + const TUid& aUid, + TDriveUnit& aLocationDrive ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveWidgetL() begin"); + TFileName widgetPath; + aWidgetRegistry.GetWidgetPath( aUid, widgetPath ); + aLocationDrive = widgetPath.Mid( 0, 2 ); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::InstalledDriveWidgetL() Drive in registry: %S", &aLocationDrive.Name() ); + if ( aLocationDrive == EDriveZ ) + { + // if the installation is in ROM, then install to C drive + aLocationDrive = EDriveC; + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveWidgetL() Exists in ROM, install to C:"); + } + else + { + TUint driveStatus = 0; + User::LeaveIfError( DriveInfo::GetDriveStatus( aFs, aLocationDrive, driveStatus ) ); + // if the installation drive physically removable and it's not available, then install to C drive + if ( ( driveStatus & DriveInfo::EDriveRemovable ) && ( !(driveStatus & DriveInfo::EDrivePresent) ) ) + { + aLocationDrive = EDriveC; + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveWidgetL() Physically removable drive not present, install to C:"); + } + } + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::InstalledDriveWidgetL() begin"); + } + // ----------------------------------------------------------------------------- // IAUpdateUtils::NextInternalDriveL @@ -615,9 +722,9 @@ // // ----------------------------------------------------------------------------- // -TDriveUnit IAUpdateUtils::DriveToInstallL( const TUid& /*aUid*/, TInt /*aSize*/ ) +TDriveUnit IAUpdateUtils::DriveToInstallL( const TUid& aUid, TInt /*aSize*/ ) { - + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DriveToInstallL() begin"); /*TDriveUnit preferredDriveUnit; TDriveUnit targetDriveUnit( EDriveC ); //preferred drive is same as a drive of previous installation @@ -635,12 +742,65 @@ targetDriveUnit = preferredDriveUnit; } }*/ - - // installation drive is alvays "C" + + RFs fs; + User::LeaveIfError( fs.Connect() ); + CleanupClosePushL( fs ); TDriveUnit targetDriveUnit( EDriveC ); + InstalledDriveL( fs, aUid, targetDriveUnit ); + CleanupStack::PopAndDestroy( &fs ); + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DriveToInstallL() end"); return targetDriveUnit; } +// ----------------------------------------------------------------------------- +// IAUpdateUtils::DriveToInstallWidgetL +// +// ----------------------------------------------------------------------------- +// +TDriveUnit IAUpdateUtils::DriveToInstallWidgetL( const TDesC& aIdentifier ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DriveToInstallWidgetL() begin"); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DriveToInstallWidgetL() identifier: %S", &aIdentifier ); + TDriveUnit targetDriveUnit( EDriveC ); + RWidgetRegistryClientSession widgetRegistry; + + User::LeaveIfError( widgetRegistry.Connect() ); + + CleanupClosePushL( widgetRegistry ); + + RPointerArray widgetInfoArr; + CleanupResetAndDestroyPushL( widgetInfoArr ); + TInt err = widgetRegistry.InstalledWidgetsL(widgetInfoArr); + + TBool foundInRegistry( EFalse ); + for( TInt i( widgetInfoArr.Count() - 1 ); !foundInRegistry && i >= 0; --i ) + { + CWidgetInfo* widgetInfo( widgetInfoArr[i] ); + + CWidgetPropertyValue* BundleId = widgetRegistry.GetWidgetPropertyValueL(widgetInfo->iUid, EBundleIdentifier ); + CleanupStack::PushL( BundleId ); + + if( aIdentifier.Compare( *(BundleId->iValue.s) )== 0 ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DriveToInstallWidgetL() Found in registry"); + foundInRegistry = ETrue; + RFs fs; + User::LeaveIfError( fs.Connect() ); + CleanupClosePushL( fs ); + InstalledDriveWidgetL( fs, widgetRegistry, widgetInfo->iUid, targetDriveUnit ); + CleanupStack::PopAndDestroy( &fs ); + } + CleanupStack::PopAndDestroy( BundleId ); + } + + CleanupStack::PopAndDestroy( &widgetInfoArr ); + CleanupStack::PopAndDestroy( &widgetRegistry); + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DriveToInstallWidgetL() end"); + return targetDriveUnit; + } + + // ----------------------------------------------------------------------------- // IAUpdateUtils::BiggestInternalDriveL @@ -826,6 +986,50 @@ IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::FreeDiskSpace() end"); return freeSpace; } - - +// --------------------------------------------------------------------------- +// IAUpdateUtils::DrivesWithBinariesL +// --------------------------------------------------------------------------- +// +void IAUpdateUtils::DrivesWithBinariesL( Swi::RSisRegistryEntry& aEntry, RArray& aDrives ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() begin"); + RPointerArray files; + aEntry.FilesL( files ); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() file count: %d", files.Count() ); + for( TInt i = 0; i < files.Count(); i++) + { + TFileName fullName = *files[i]; + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() fullname: %S", &fullName); + TParse parse; + parse.Set( fullName, NULL, NULL); + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() extension: %S", &parse.Ext()); + if ( parse.Ext().CompareF( KExe() ) == 0 || parse.Ext().CompareF( KDll() ) == 0 ) + { + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() EXE or DLL found"); + TDriveUnit driveUnit( parse.Drive() ); + TInt driveInt = driveUnit; + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() driveInt: %d", driveInt ); + TBool driveExistInList = EFalse; + for( TInt j = 0; !driveExistInList && j < aDrives.Count(); j++) + { + if ( driveInt == aDrives[j]) + { + driveExistInList = ETrue; + } + } + if ( !driveExistInList ) + { + TInt ret = aDrives.Append(driveInt); + if ( ret != KErrNone ) + { + files.ResetAndDestroy(); + User::Leave( ret ); + } + IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() drive added to list: %d", driveInt ); + } + } + } + files.ResetAndDestroy(); + IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() end"); + } diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/engine/eabi/iaupdateengineu.def --- a/iaupdate/IAD/engine/eabi/iaupdateengineu.def Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/engine/eabi/iaupdateengineu.def Tue Apr 27 16:46:15 2010 +0300 @@ -6,7 +6,7 @@ _ZN13IAUpdateUtils14AppPackageUidLERK4TUidR16TIAUpdateVersion @ 5 NONAME _ZN13IAUpdateUtils15IsAppInstalledLERK4TUid @ 6 NONAME _ZN13IAUpdateUtils15IsAppInstalledLERK4TUidR16TIAUpdateVersion @ 7 NONAME - _ZN13IAUpdateUtils21SilentInstallOptionsLERK4TUidi @ 8 NONAME + _ZN13IAUpdateUtils18IsWidgetInstalledLERK7TDesC16R16TIAUpdateVersion @ 8 NONAME _ZN13IAUpdateUtils31SpaceAvailableInInternalDrivesLER13RPointerArrayI13MIAUpdateNodeE @ 9 NONAME _ZN15IAUpdateFactory17CreateControllerLERK4TUidR27MIAUpdateControllerObserver @ 10 NONAME _ZN16TIAUpdateVersion10SetToFloorEv @ 11 NONAME @@ -101,121 +101,120 @@ _ZNK23CIAUpdateControllerFile8LanguageEv @ 100 NONAME _ZNK25CIAUpdatePendingNodesFile5IndexEv @ 101 NONAME _ZNK25CIAUpdatePendingNodesFile8FilePathEv @ 102 NONAME - _ZTI13CIAUpdateNode @ 103 NONAME ; ## - _ZTI14CIAUpdateTimer @ 104 NONAME ; ## - _ZTI15CIAUpdateFwNode @ 105 NONAME ; ## - _ZTI15CIAUpdateLoader @ 106 NONAME ; ## - _ZTI16CIAUpdateHistory @ 107 NONAME ; ## - _ZTI17CIAUpdateBaseNode @ 108 NONAME ; ## - _ZTI18CIAUpdateXmlParser @ 109 NONAME ; ## - _ZTI19CIAUpdateController @ 110 NONAME ; ## - _ZTI19CIAUpdateRendezvous @ 111 NONAME ; ## - _ZTI20CIAUpdateHistoryItem @ 112 NONAME ; ## - _ZTI20CIAUpdateNodeDetails @ 113 NONAME ; ## - _ZTI20CIAUpdateRestartInfo @ 114 NONAME ; ## - _ZTI20CIAUpdateSpecialNode @ 115 NONAME ; ## - _ZTI21CIAUpdateCacheCleaner @ 116 NONAME ; ## - _ZTI21CIAUpdateXmlSubParser @ 117 NONAME ; ## - _ZTI22CIAUpdateNodeContainer @ 118 NONAME ; ## - _ZTI23CIAUpdateControllerFile @ 119 NONAME ; ## - _ZTI23CIAUpdateNodeDependency @ 120 NONAME ; ## - _ZTI24CIAUpdateEngineXmlParser @ 121 NONAME ; ## - _ZTI24CIAUpdateSelfUpdaterCtrl @ 122 NONAME ; ## - _ZTI24CIAUpdateServicePackNode @ 123 NONAME ; ## - _ZTI25CIAUpdateContentOperation @ 124 NONAME ; ## - _ZTI25CIAUpdateEngineConfigData @ 125 NONAME ; ## - _ZTI25CIAUpdateInstallOperation @ 126 NONAME ; ## - _ZTI25CIAUpdateNodeUidXmlParser @ 127 NONAME ; ## - _ZTI25CIAUpdatePendingNodesFile @ 128 NONAME ; ## - _ZTI26CIAUpdateDownloadOperation @ 129 NONAME ; ## - _ZTI26CIAUpdateInterDepXmlParser @ 130 NONAME ; ## - _ZTI26CIAUpdatePurchaseOperation @ 131 NONAME ; ## - _ZTI27CIAUpdateEngineXmlSubParser @ 132 NONAME ; ## - _ZTI27CIAUpdatePlatformDependency @ 133 NONAME ; ## - _ZTI28CIAUpdateDependencyXmlParser @ 134 NONAME ; ## - _ZTI28CIAUpdateFwPurchaseOperation @ 135 NONAME ; ## - _ZTI28CIAUpdateNetworkRegistration @ 136 NONAME ; ## - _ZTI29CIAUpdateNodeVersionXmlParser @ 137 NONAME ; ## - _ZTI30CIAUpdateNodeEmbeddedXmlParser @ 138 NONAME ; ## - _ZTI30CIAUpdateVersionBuildXmlParser @ 139 NONAME ; ## - _ZTI30CIAUpdateVersionMajorXmlParser @ 140 NONAME ; ## - _ZTI30CIAUpdateVersionMinorXmlParser @ 141 NONAME ; ## - _ZTI31CIAUpdateDependencyXmlSubParser @ 142 NONAME ; ## - _ZTI31CIAUpdateNormalContentOperation @ 143 NONAME ; ## - _ZTI31CIAUpdateSelfUpdaterInitializer @ 144 NONAME ; ## - _ZTI32CIAUpdateContentOperationManager @ 145 NONAME ; ## - _ZTI32CIAUpdateNodeDependencyXmlParser @ 146 NONAME ; ## - _ZTI32CIAUpdateSelfUpdateInitOperation @ 147 NONAME ; ## - _ZTI33CIAUpdateNodeVersionRoofXmlParser @ 148 NONAME ; ## - _ZTI33CIAUpdatePlatformVersionXmlParser @ 149 NONAME ; ## - _ZTI34CIAUpdateNodeVersionFloorXmlParser @ 150 NONAME ; ## - _ZTI36CIAUpdatePlatformDependencyXmlParser @ 151 NONAME ; ## - _ZTI37CIAUpdatePlatformDescriptionXmlParser @ 152 NONAME ; ## - _ZTI37CIAUpdatePlatformVersionRoofXmlParser @ 153 NONAME ; ## - _ZTI38CIAUpdatePlatformVersionFloorXmlParser @ 154 NONAME ; ## - _ZTV13CIAUpdateNode @ 155 NONAME ; ## - _ZTV14CIAUpdateTimer @ 156 NONAME ; ## - _ZTV15CIAUpdateFwNode @ 157 NONAME ; ## - _ZTV15CIAUpdateLoader @ 158 NONAME ; ## - _ZTV16CIAUpdateHistory @ 159 NONAME ; ## - _ZTV17CIAUpdateBaseNode @ 160 NONAME ; ## - _ZTV18CIAUpdateXmlParser @ 161 NONAME ; ## - _ZTV19CIAUpdateController @ 162 NONAME ; ## - _ZTV19CIAUpdateRendezvous @ 163 NONAME ; ## - _ZTV20CIAUpdateHistoryItem @ 164 NONAME ; ## - _ZTV20CIAUpdateNodeDetails @ 165 NONAME ; ## - _ZTV20CIAUpdateRestartInfo @ 166 NONAME ; ## - _ZTV20CIAUpdateSpecialNode @ 167 NONAME ; ## - _ZTV21CIAUpdateCacheCleaner @ 168 NONAME ; ## - _ZTV21CIAUpdateXmlSubParser @ 169 NONAME ; ## - _ZTV22CIAUpdateNodeContainer @ 170 NONAME ; ## - _ZTV23CIAUpdateControllerFile @ 171 NONAME ; ## - _ZTV23CIAUpdateNodeDependency @ 172 NONAME ; ## - _ZTV24CIAUpdateEngineXmlParser @ 173 NONAME ; ## - _ZTV24CIAUpdateSelfUpdaterCtrl @ 174 NONAME ; ## - _ZTV24CIAUpdateServicePackNode @ 175 NONAME ; ## - _ZTV25CIAUpdateContentOperation @ 176 NONAME ; ## - _ZTV25CIAUpdateEngineConfigData @ 177 NONAME ; ## - _ZTV25CIAUpdateInstallOperation @ 178 NONAME ; ## - _ZTV25CIAUpdateNodeUidXmlParser @ 179 NONAME ; ## - _ZTV25CIAUpdatePendingNodesFile @ 180 NONAME ; ## - _ZTV26CIAUpdateDownloadOperation @ 181 NONAME ; ## - _ZTV26CIAUpdateInterDepXmlParser @ 182 NONAME ; ## - _ZTV26CIAUpdatePurchaseOperation @ 183 NONAME ; ## - _ZTV27CIAUpdateEngineXmlSubParser @ 184 NONAME ; ## - _ZTV27CIAUpdatePlatformDependency @ 185 NONAME ; ## - _ZTV28CIAUpdateDependencyXmlParser @ 186 NONAME ; ## - _ZTV28CIAUpdateFwPurchaseOperation @ 187 NONAME ; ## - _ZTV28CIAUpdateNetworkRegistration @ 188 NONAME ; ## - _ZTV29CIAUpdateNodeVersionXmlParser @ 189 NONAME ; ## - _ZTV30CIAUpdateNodeEmbeddedXmlParser @ 190 NONAME ; ## - _ZTV30CIAUpdateVersionBuildXmlParser @ 191 NONAME ; ## - _ZTV30CIAUpdateVersionMajorXmlParser @ 192 NONAME ; ## - _ZTV30CIAUpdateVersionMinorXmlParser @ 193 NONAME ; ## - _ZTV31CIAUpdateDependencyXmlSubParser @ 194 NONAME ; ## - _ZTV31CIAUpdateNormalContentOperation @ 195 NONAME ; ## - _ZTV31CIAUpdateSelfUpdaterInitializer @ 196 NONAME ; ## - _ZTV32CIAUpdateContentOperationManager @ 197 NONAME ; ## - _ZTV32CIAUpdateNodeDependencyXmlParser @ 198 NONAME ; ## - _ZTV32CIAUpdateSelfUpdateInitOperation @ 199 NONAME ; ## - _ZTV33CIAUpdateNodeVersionRoofXmlParser @ 200 NONAME ; ## - _ZTV33CIAUpdatePlatformVersionXmlParser @ 201 NONAME ; ## - _ZTV34CIAUpdateNodeVersionFloorXmlParser @ 202 NONAME ; ## - _ZTV36CIAUpdatePlatformDependencyXmlParser @ 203 NONAME ; ## - _ZTV37CIAUpdatePlatformDescriptionXmlParser @ 204 NONAME ; ## - _ZTV37CIAUpdatePlatformVersionRoofXmlParser @ 205 NONAME ; ## - _ZTV38CIAUpdatePlatformVersionFloorXmlParser @ 206 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser10OnContentLERK6TDesC8i @ 207 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser13OnEndElementLERKN3Xml8RTagInfoEi @ 208 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser14OnEndDocumentLEi @ 209 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser15OnStartElementLERKN3Xml8RTagInfoERK6RArrayINS0_10RAttributeEEi @ 210 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser16OnSkippedEntityLERK7RStringi @ 211 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser16OnStartDocumentLERKN3Xml19RDocumentParametersEi @ 212 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser19OnEndPrefixMappingLERK7RStringi @ 213 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser20GetExtendedInterfaceEl @ 214 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser21OnStartPrefixMappingLERK7RStringS2_i @ 215 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser22OnIgnorableWhiteSpaceLERK6TDesC8i @ 216 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser24OnProcessingInstructionLERK6TDesC8S2_i @ 217 NONAME ; ## - _ZThn4_N21CIAUpdateXmlSubParser7OnErrorEi @ 218 NONAME ; ## - _ZN13IAUpdateUtils18IsWidgetInstalledLERK7TDesC16R16TIAUpdateVersion @ 219 NONAME + _ZTI13CIAUpdateNode @ 103 NONAME + _ZTI14CIAUpdateTimer @ 104 NONAME + _ZTI15CIAUpdateFwNode @ 105 NONAME + _ZTI15CIAUpdateLoader @ 106 NONAME + _ZTI16CIAUpdateHistory @ 107 NONAME + _ZTI17CIAUpdateBaseNode @ 108 NONAME + _ZTI18CIAUpdateXmlParser @ 109 NONAME + _ZTI19CIAUpdateController @ 110 NONAME + _ZTI19CIAUpdateRendezvous @ 111 NONAME + _ZTI20CIAUpdateHistoryItem @ 112 NONAME + _ZTI20CIAUpdateNodeDetails @ 113 NONAME + _ZTI20CIAUpdateRestartInfo @ 114 NONAME + _ZTI20CIAUpdateSpecialNode @ 115 NONAME + _ZTI21CIAUpdateCacheCleaner @ 116 NONAME + _ZTI21CIAUpdateXmlSubParser @ 117 NONAME + _ZTI22CIAUpdateNodeContainer @ 118 NONAME + _ZTI23CIAUpdateControllerFile @ 119 NONAME + _ZTI23CIAUpdateNodeDependency @ 120 NONAME + _ZTI24CIAUpdateEngineXmlParser @ 121 NONAME + _ZTI24CIAUpdateSelfUpdaterCtrl @ 122 NONAME + _ZTI24CIAUpdateServicePackNode @ 123 NONAME + _ZTI25CIAUpdateContentOperation @ 124 NONAME + _ZTI25CIAUpdateEngineConfigData @ 125 NONAME + _ZTI25CIAUpdateInstallOperation @ 126 NONAME + _ZTI25CIAUpdateNodeUidXmlParser @ 127 NONAME + _ZTI25CIAUpdatePendingNodesFile @ 128 NONAME + _ZTI26CIAUpdateDownloadOperation @ 129 NONAME + _ZTI26CIAUpdateInterDepXmlParser @ 130 NONAME + _ZTI26CIAUpdatePurchaseOperation @ 131 NONAME + _ZTI27CIAUpdateEngineXmlSubParser @ 132 NONAME + _ZTI27CIAUpdatePlatformDependency @ 133 NONAME + _ZTI28CIAUpdateDependencyXmlParser @ 134 NONAME + _ZTI28CIAUpdateFwPurchaseOperation @ 135 NONAME + _ZTI28CIAUpdateNetworkRegistration @ 136 NONAME + _ZTI29CIAUpdateNodeVersionXmlParser @ 137 NONAME + _ZTI30CIAUpdateNodeEmbeddedXmlParser @ 138 NONAME + _ZTI30CIAUpdateVersionBuildXmlParser @ 139 NONAME + _ZTI30CIAUpdateVersionMajorXmlParser @ 140 NONAME + _ZTI30CIAUpdateVersionMinorXmlParser @ 141 NONAME + _ZTI31CIAUpdateDependencyXmlSubParser @ 142 NONAME + _ZTI31CIAUpdateNormalContentOperation @ 143 NONAME + _ZTI31CIAUpdateSelfUpdaterInitializer @ 144 NONAME + _ZTI32CIAUpdateContentOperationManager @ 145 NONAME + _ZTI32CIAUpdateNodeDependencyXmlParser @ 146 NONAME + _ZTI32CIAUpdateSelfUpdateInitOperation @ 147 NONAME + _ZTI33CIAUpdateNodeVersionRoofXmlParser @ 148 NONAME + _ZTI33CIAUpdatePlatformVersionXmlParser @ 149 NONAME + _ZTI34CIAUpdateNodeVersionFloorXmlParser @ 150 NONAME + _ZTI36CIAUpdatePlatformDependencyXmlParser @ 151 NONAME + _ZTI37CIAUpdatePlatformDescriptionXmlParser @ 152 NONAME + _ZTI37CIAUpdatePlatformVersionRoofXmlParser @ 153 NONAME + _ZTI38CIAUpdatePlatformVersionFloorXmlParser @ 154 NONAME + _ZTV13CIAUpdateNode @ 155 NONAME + _ZTV14CIAUpdateTimer @ 156 NONAME + _ZTV15CIAUpdateFwNode @ 157 NONAME + _ZTV15CIAUpdateLoader @ 158 NONAME + _ZTV16CIAUpdateHistory @ 159 NONAME + _ZTV17CIAUpdateBaseNode @ 160 NONAME + _ZTV18CIAUpdateXmlParser @ 161 NONAME + _ZTV19CIAUpdateController @ 162 NONAME + _ZTV19CIAUpdateRendezvous @ 163 NONAME + _ZTV20CIAUpdateHistoryItem @ 164 NONAME + _ZTV20CIAUpdateNodeDetails @ 165 NONAME + _ZTV20CIAUpdateRestartInfo @ 166 NONAME + _ZTV20CIAUpdateSpecialNode @ 167 NONAME + _ZTV21CIAUpdateCacheCleaner @ 168 NONAME + _ZTV21CIAUpdateXmlSubParser @ 169 NONAME + _ZTV22CIAUpdateNodeContainer @ 170 NONAME + _ZTV23CIAUpdateControllerFile @ 171 NONAME + _ZTV23CIAUpdateNodeDependency @ 172 NONAME + _ZTV24CIAUpdateEngineXmlParser @ 173 NONAME + _ZTV24CIAUpdateSelfUpdaterCtrl @ 174 NONAME + _ZTV24CIAUpdateServicePackNode @ 175 NONAME + _ZTV25CIAUpdateContentOperation @ 176 NONAME + _ZTV25CIAUpdateEngineConfigData @ 177 NONAME + _ZTV25CIAUpdateInstallOperation @ 178 NONAME + _ZTV25CIAUpdateNodeUidXmlParser @ 179 NONAME + _ZTV25CIAUpdatePendingNodesFile @ 180 NONAME + _ZTV26CIAUpdateDownloadOperation @ 181 NONAME + _ZTV26CIAUpdateInterDepXmlParser @ 182 NONAME + _ZTV26CIAUpdatePurchaseOperation @ 183 NONAME + _ZTV27CIAUpdateEngineXmlSubParser @ 184 NONAME + _ZTV27CIAUpdatePlatformDependency @ 185 NONAME + _ZTV28CIAUpdateDependencyXmlParser @ 186 NONAME + _ZTV28CIAUpdateFwPurchaseOperation @ 187 NONAME + _ZTV28CIAUpdateNetworkRegistration @ 188 NONAME + _ZTV29CIAUpdateNodeVersionXmlParser @ 189 NONAME + _ZTV30CIAUpdateNodeEmbeddedXmlParser @ 190 NONAME + _ZTV30CIAUpdateVersionBuildXmlParser @ 191 NONAME + _ZTV30CIAUpdateVersionMajorXmlParser @ 192 NONAME + _ZTV30CIAUpdateVersionMinorXmlParser @ 193 NONAME + _ZTV31CIAUpdateDependencyXmlSubParser @ 194 NONAME + _ZTV31CIAUpdateNormalContentOperation @ 195 NONAME + _ZTV31CIAUpdateSelfUpdaterInitializer @ 196 NONAME + _ZTV32CIAUpdateContentOperationManager @ 197 NONAME + _ZTV32CIAUpdateNodeDependencyXmlParser @ 198 NONAME + _ZTV32CIAUpdateSelfUpdateInitOperation @ 199 NONAME + _ZTV33CIAUpdateNodeVersionRoofXmlParser @ 200 NONAME + _ZTV33CIAUpdatePlatformVersionXmlParser @ 201 NONAME + _ZTV34CIAUpdateNodeVersionFloorXmlParser @ 202 NONAME + _ZTV36CIAUpdatePlatformDependencyXmlParser @ 203 NONAME + _ZTV37CIAUpdatePlatformDescriptionXmlParser @ 204 NONAME + _ZTV37CIAUpdatePlatformVersionRoofXmlParser @ 205 NONAME + _ZTV38CIAUpdatePlatformVersionFloorXmlParser @ 206 NONAME + _ZThn4_N21CIAUpdateXmlSubParser10OnContentLERK6TDesC8i @ 207 NONAME + _ZThn4_N21CIAUpdateXmlSubParser13OnEndElementLERKN3Xml8RTagInfoEi @ 208 NONAME + _ZThn4_N21CIAUpdateXmlSubParser14OnEndDocumentLEi @ 209 NONAME + _ZThn4_N21CIAUpdateXmlSubParser15OnStartElementLERKN3Xml8RTagInfoERK6RArrayINS0_10RAttributeEEi @ 210 NONAME + _ZThn4_N21CIAUpdateXmlSubParser16OnSkippedEntityLERK7RStringi @ 211 NONAME + _ZThn4_N21CIAUpdateXmlSubParser16OnStartDocumentLERKN3Xml19RDocumentParametersEi @ 212 NONAME + _ZThn4_N21CIAUpdateXmlSubParser19OnEndPrefixMappingLERK7RStringi @ 213 NONAME + _ZThn4_N21CIAUpdateXmlSubParser20GetExtendedInterfaceEl @ 214 NONAME + _ZThn4_N21CIAUpdateXmlSubParser21OnStartPrefixMappingLERK7RStringS2_i @ 215 NONAME + _ZThn4_N21CIAUpdateXmlSubParser22OnIgnorableWhiteSpaceLERK6TDesC8i @ 216 NONAME + _ZThn4_N21CIAUpdateXmlSubParser24OnProcessingInstructionLERK6TDesC8S2_i @ 217 NONAME + _ZThn4_N21CIAUpdateXmlSubParser7OnErrorEi @ 218 NONAME diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/engine/inc/iaupdateutils.h --- a/iaupdate/IAD/engine/inc/iaupdateutils.h Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/engine/inc/iaupdateutils.h Tue Apr 27 16:46:15 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* 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 "Eclipse Public License v1.0" @@ -25,9 +25,12 @@ // For silent installation #include +#include class TIAUpdateVersion; class MIAUpdateNode; +class CIAUpdateBaseNode; +class RWidgetRegistryClientSession; namespace IAUpdateUtils { @@ -120,11 +123,10 @@ * Creates options for silent install. * Uses DriveToInstallL to etermine target drive to install. * - * @param aUid PUID of the application - * @param aSize Estimated size of installation + * @param aNode */ -IMPORT_C SwiUI::TInstallOptions SilentInstallOptionsL( const TUid& aUid, - TInt aSize ); +SwiUI::TInstallOptions SilentInstallOptionsL( const CIAUpdateBaseNode& aNode ); + @@ -134,7 +136,12 @@ * @param aLocationDrive Drive where a package is currently installed * @return ETrue if a package previously installed to an available drive **/ -TBool InstalledDriveL( const TUid& aUid, TDriveUnit& aLocationDrive ); +TBool InstalledDriveL( RFs& aFs, const TUid& aUid, TDriveUnit& aLocationDrive ); + +void InstalledDriveWidgetL( RFs& aFs, + RWidgetRegistryClientSession& aWidgetRegistry, + const TUid& aUid, + TDriveUnit& aLocationDrive ); TBool NextInternalDriveL( RFs& aFs, TDriveUnit aCurrentDrive, @@ -149,6 +156,8 @@ **/ TDriveUnit DriveToInstallL( const TUid& aUid, TInt aSize ); +TDriveUnit DriveToInstallWidgetL( const TDesC& aIdentifier ); + TDriveUnit BiggestInternalDriveL(); TBool InternalDriveWithSpaceL( TInt aSize, @@ -161,6 +170,8 @@ TInt64 FreeDiskSpace( RFs& aFs, TInt aDriveNumber ); +void DrivesWithBinariesL( Swi::RSisRegistryEntry& aEntry, RArray& aDrives ); + } diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/firmwareupdate/inc/iaupdatefwfotamodel.h --- a/iaupdate/IAD/firmwareupdate/inc/iaupdatefwfotamodel.h Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/firmwareupdate/inc/iaupdatefwfotamodel.h Tue Apr 27 16:46:15 2010 +0300 @@ -181,6 +181,12 @@ * @return ETrue if DM support is available */ TBool IsDMSupportAvailableL(); + + /** + * Tries to resume suspended firmware update package download. + * @return Error code. + */ + TInt TryResumeFwUpdDownload(); public: // Functions from base classes diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/firmwareupdate/src/iaupdatefwfotamodel.cpp --- a/iaupdate/IAD/firmwareupdate/src/iaupdatefwfotamodel.cpp Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/firmwareupdate/src/iaupdatefwfotamodel.cpp Tue Apr 27 16:46:15 2010 +0300 @@ -402,11 +402,23 @@ // Fetches the state of last or current Fota operation // ----------------------------------------------------------------------------- // - RFotaEngineSession::TState CIAUpdateFWFotaModel::GetCurrentFwUpdState() - { +RFotaEngineSession::TState CIAUpdateFWFotaModel::GetCurrentFwUpdState() + { FLOG( "[IAUPDATEFW] CIAUpdateFWFotaModel::GetCurrentFwUpdState()" ); - const TInt x = -1; - return iFotaEngine.GetState(x); - } + // Workaround because fotaserver has closed all sessions if DM UI was closed. + // So, we cannot rely on existing session but a new one needs to be opened. + iFotaEngine.Close(); + iFotaEngine.OpenL(); + const TInt x = -1; + return iFotaEngine.GetState(x); + } + +TInt CIAUpdateFWFotaModel::TryResumeFwUpdDownload() + { + FLOG( "[IAUPDATEFW] CIAUpdateFWFotaModel::TryResumeFwUpdDownload()" ); + TInt retval = iFotaEngine.TryResumeDownload(); + return retval; + } + // End of File diff -r 09e5ea190d07 -r 98a43fae6e2b iaupdate/IAD/firmwareupdate/src/iaupdatefwupdatehandler.cpp --- a/iaupdate/IAD/firmwareupdate/src/iaupdatefwupdatehandler.cpp Wed Apr 14 16:05:45 2010 +0300 +++ b/iaupdate/IAD/firmwareupdate/src/iaupdatefwupdatehandler.cpp Tue Apr 27 16:46:15 2010 +0300 @@ -174,6 +174,13 @@ //still allow user to continue if ( ( fotamodelstate != RFotaEngineSession::EDownloadComplete ) && ( fotamodelstate != RFotaEngineSession::EStartingUpdate ) ) { + //if download is suspended, try to resume it. + if ( fotamodelstate == RFotaEngineSession::EDownloadProgressingWithResume) + { + TInt result = iFotaModel->TryResumeFwUpdDownload(); + FLOG_NUM( "[IAUPDATEFW] TryResumeFwUpdDownload result = %d", result ); + } + //anyway, DM is in use isDmActive = ETrue; } }