--- 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<class Xml::RAttribute> 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<class CIAUpdaterIdentifier> & 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<class MIAUpdateNode> &)
- ?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<class CIAUpdateXmlSubParser> & 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<class CIAUpdateXmlSubParser> & 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<class Xml::RAttribute> 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<class MIAUpdateNode> &)
+ ?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<class CIAUpdaterIdentifier> & 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)
--- 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 )
--- 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 <swi/sisregistrysession.h>
@@ -40,10 +42,11 @@
#include <widgetregistryclient.h>
//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<TInt> 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<CWidgetInfo> 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<TInt>& aDrives )
+ {
+ IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() begin");
+ RPointerArray<HBufC> 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");
+ }
--- 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 ; #<TI>#
- _ZTI14CIAUpdateTimer @ 104 NONAME ; #<TI>#
- _ZTI15CIAUpdateFwNode @ 105 NONAME ; #<TI>#
- _ZTI15CIAUpdateLoader @ 106 NONAME ; #<TI>#
- _ZTI16CIAUpdateHistory @ 107 NONAME ; #<TI>#
- _ZTI17CIAUpdateBaseNode @ 108 NONAME ; #<TI>#
- _ZTI18CIAUpdateXmlParser @ 109 NONAME ; #<TI>#
- _ZTI19CIAUpdateController @ 110 NONAME ; #<TI>#
- _ZTI19CIAUpdateRendezvous @ 111 NONAME ; #<TI>#
- _ZTI20CIAUpdateHistoryItem @ 112 NONAME ; #<TI>#
- _ZTI20CIAUpdateNodeDetails @ 113 NONAME ; #<TI>#
- _ZTI20CIAUpdateRestartInfo @ 114 NONAME ; #<TI>#
- _ZTI20CIAUpdateSpecialNode @ 115 NONAME ; #<TI>#
- _ZTI21CIAUpdateCacheCleaner @ 116 NONAME ; #<TI>#
- _ZTI21CIAUpdateXmlSubParser @ 117 NONAME ; #<TI>#
- _ZTI22CIAUpdateNodeContainer @ 118 NONAME ; #<TI>#
- _ZTI23CIAUpdateControllerFile @ 119 NONAME ; #<TI>#
- _ZTI23CIAUpdateNodeDependency @ 120 NONAME ; #<TI>#
- _ZTI24CIAUpdateEngineXmlParser @ 121 NONAME ; #<TI>#
- _ZTI24CIAUpdateSelfUpdaterCtrl @ 122 NONAME ; #<TI>#
- _ZTI24CIAUpdateServicePackNode @ 123 NONAME ; #<TI>#
- _ZTI25CIAUpdateContentOperation @ 124 NONAME ; #<TI>#
- _ZTI25CIAUpdateEngineConfigData @ 125 NONAME ; #<TI>#
- _ZTI25CIAUpdateInstallOperation @ 126 NONAME ; #<TI>#
- _ZTI25CIAUpdateNodeUidXmlParser @ 127 NONAME ; #<TI>#
- _ZTI25CIAUpdatePendingNodesFile @ 128 NONAME ; #<TI>#
- _ZTI26CIAUpdateDownloadOperation @ 129 NONAME ; #<TI>#
- _ZTI26CIAUpdateInterDepXmlParser @ 130 NONAME ; #<TI>#
- _ZTI26CIAUpdatePurchaseOperation @ 131 NONAME ; #<TI>#
- _ZTI27CIAUpdateEngineXmlSubParser @ 132 NONAME ; #<TI>#
- _ZTI27CIAUpdatePlatformDependency @ 133 NONAME ; #<TI>#
- _ZTI28CIAUpdateDependencyXmlParser @ 134 NONAME ; #<TI>#
- _ZTI28CIAUpdateFwPurchaseOperation @ 135 NONAME ; #<TI>#
- _ZTI28CIAUpdateNetworkRegistration @ 136 NONAME ; #<TI>#
- _ZTI29CIAUpdateNodeVersionXmlParser @ 137 NONAME ; #<TI>#
- _ZTI30CIAUpdateNodeEmbeddedXmlParser @ 138 NONAME ; #<TI>#
- _ZTI30CIAUpdateVersionBuildXmlParser @ 139 NONAME ; #<TI>#
- _ZTI30CIAUpdateVersionMajorXmlParser @ 140 NONAME ; #<TI>#
- _ZTI30CIAUpdateVersionMinorXmlParser @ 141 NONAME ; #<TI>#
- _ZTI31CIAUpdateDependencyXmlSubParser @ 142 NONAME ; #<TI>#
- _ZTI31CIAUpdateNormalContentOperation @ 143 NONAME ; #<TI>#
- _ZTI31CIAUpdateSelfUpdaterInitializer @ 144 NONAME ; #<TI>#
- _ZTI32CIAUpdateContentOperationManager @ 145 NONAME ; #<TI>#
- _ZTI32CIAUpdateNodeDependencyXmlParser @ 146 NONAME ; #<TI>#
- _ZTI32CIAUpdateSelfUpdateInitOperation @ 147 NONAME ; #<TI>#
- _ZTI33CIAUpdateNodeVersionRoofXmlParser @ 148 NONAME ; #<TI>#
- _ZTI33CIAUpdatePlatformVersionXmlParser @ 149 NONAME ; #<TI>#
- _ZTI34CIAUpdateNodeVersionFloorXmlParser @ 150 NONAME ; #<TI>#
- _ZTI36CIAUpdatePlatformDependencyXmlParser @ 151 NONAME ; #<TI>#
- _ZTI37CIAUpdatePlatformDescriptionXmlParser @ 152 NONAME ; #<TI>#
- _ZTI37CIAUpdatePlatformVersionRoofXmlParser @ 153 NONAME ; #<TI>#
- _ZTI38CIAUpdatePlatformVersionFloorXmlParser @ 154 NONAME ; #<TI>#
- _ZTV13CIAUpdateNode @ 155 NONAME ; #<VT>#
- _ZTV14CIAUpdateTimer @ 156 NONAME ; #<VT>#
- _ZTV15CIAUpdateFwNode @ 157 NONAME ; #<VT>#
- _ZTV15CIAUpdateLoader @ 158 NONAME ; #<VT>#
- _ZTV16CIAUpdateHistory @ 159 NONAME ; #<VT>#
- _ZTV17CIAUpdateBaseNode @ 160 NONAME ; #<VT>#
- _ZTV18CIAUpdateXmlParser @ 161 NONAME ; #<VT>#
- _ZTV19CIAUpdateController @ 162 NONAME ; #<VT>#
- _ZTV19CIAUpdateRendezvous @ 163 NONAME ; #<VT>#
- _ZTV20CIAUpdateHistoryItem @ 164 NONAME ; #<VT>#
- _ZTV20CIAUpdateNodeDetails @ 165 NONAME ; #<VT>#
- _ZTV20CIAUpdateRestartInfo @ 166 NONAME ; #<VT>#
- _ZTV20CIAUpdateSpecialNode @ 167 NONAME ; #<VT>#
- _ZTV21CIAUpdateCacheCleaner @ 168 NONAME ; #<VT>#
- _ZTV21CIAUpdateXmlSubParser @ 169 NONAME ; #<VT>#
- _ZTV22CIAUpdateNodeContainer @ 170 NONAME ; #<VT>#
- _ZTV23CIAUpdateControllerFile @ 171 NONAME ; #<VT>#
- _ZTV23CIAUpdateNodeDependency @ 172 NONAME ; #<VT>#
- _ZTV24CIAUpdateEngineXmlParser @ 173 NONAME ; #<VT>#
- _ZTV24CIAUpdateSelfUpdaterCtrl @ 174 NONAME ; #<VT>#
- _ZTV24CIAUpdateServicePackNode @ 175 NONAME ; #<VT>#
- _ZTV25CIAUpdateContentOperation @ 176 NONAME ; #<VT>#
- _ZTV25CIAUpdateEngineConfigData @ 177 NONAME ; #<VT>#
- _ZTV25CIAUpdateInstallOperation @ 178 NONAME ; #<VT>#
- _ZTV25CIAUpdateNodeUidXmlParser @ 179 NONAME ; #<VT>#
- _ZTV25CIAUpdatePendingNodesFile @ 180 NONAME ; #<VT>#
- _ZTV26CIAUpdateDownloadOperation @ 181 NONAME ; #<VT>#
- _ZTV26CIAUpdateInterDepXmlParser @ 182 NONAME ; #<VT>#
- _ZTV26CIAUpdatePurchaseOperation @ 183 NONAME ; #<VT>#
- _ZTV27CIAUpdateEngineXmlSubParser @ 184 NONAME ; #<VT>#
- _ZTV27CIAUpdatePlatformDependency @ 185 NONAME ; #<VT>#
- _ZTV28CIAUpdateDependencyXmlParser @ 186 NONAME ; #<VT>#
- _ZTV28CIAUpdateFwPurchaseOperation @ 187 NONAME ; #<VT>#
- _ZTV28CIAUpdateNetworkRegistration @ 188 NONAME ; #<VT>#
- _ZTV29CIAUpdateNodeVersionXmlParser @ 189 NONAME ; #<VT>#
- _ZTV30CIAUpdateNodeEmbeddedXmlParser @ 190 NONAME ; #<VT>#
- _ZTV30CIAUpdateVersionBuildXmlParser @ 191 NONAME ; #<VT>#
- _ZTV30CIAUpdateVersionMajorXmlParser @ 192 NONAME ; #<VT>#
- _ZTV30CIAUpdateVersionMinorXmlParser @ 193 NONAME ; #<VT>#
- _ZTV31CIAUpdateDependencyXmlSubParser @ 194 NONAME ; #<VT>#
- _ZTV31CIAUpdateNormalContentOperation @ 195 NONAME ; #<VT>#
- _ZTV31CIAUpdateSelfUpdaterInitializer @ 196 NONAME ; #<VT>#
- _ZTV32CIAUpdateContentOperationManager @ 197 NONAME ; #<VT>#
- _ZTV32CIAUpdateNodeDependencyXmlParser @ 198 NONAME ; #<VT>#
- _ZTV32CIAUpdateSelfUpdateInitOperation @ 199 NONAME ; #<VT>#
- _ZTV33CIAUpdateNodeVersionRoofXmlParser @ 200 NONAME ; #<VT>#
- _ZTV33CIAUpdatePlatformVersionXmlParser @ 201 NONAME ; #<VT>#
- _ZTV34CIAUpdateNodeVersionFloorXmlParser @ 202 NONAME ; #<VT>#
- _ZTV36CIAUpdatePlatformDependencyXmlParser @ 203 NONAME ; #<VT>#
- _ZTV37CIAUpdatePlatformDescriptionXmlParser @ 204 NONAME ; #<VT>#
- _ZTV37CIAUpdatePlatformVersionRoofXmlParser @ 205 NONAME ; #<VT>#
- _ZTV38CIAUpdatePlatformVersionFloorXmlParser @ 206 NONAME ; #<VT>#
- _ZThn4_N21CIAUpdateXmlSubParser10OnContentLERK6TDesC8i @ 207 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser13OnEndElementLERKN3Xml8RTagInfoEi @ 208 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser14OnEndDocumentLEi @ 209 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser15OnStartElementLERKN3Xml8RTagInfoERK6RArrayINS0_10RAttributeEEi @ 210 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser16OnSkippedEntityLERK7RStringi @ 211 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser16OnStartDocumentLERKN3Xml19RDocumentParametersEi @ 212 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser19OnEndPrefixMappingLERK7RStringi @ 213 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser20GetExtendedInterfaceEl @ 214 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser21OnStartPrefixMappingLERK7RStringS2_i @ 215 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser22OnIgnorableWhiteSpaceLERK6TDesC8i @ 216 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser24OnProcessingInstructionLERK6TDesC8S2_i @ 217 NONAME ; #<thunk>#
- _ZThn4_N21CIAUpdateXmlSubParser7OnErrorEi @ 218 NONAME ; #<thunk>#
- _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
--- 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 <SWInstDefs.h>
+#include <swi/sisregistryentry.h>
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<TInt>& aDrives );
+
}
--- 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
--- 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
--- 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;
}
}