diff -r 8b094906a049 -r 60a94a45d437 mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp --- a/mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp Mon Mar 15 12:43:12 2010 +0200 +++ b/mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp Wed Mar 31 22:58:56 2010 +0300 @@ -15,7 +15,6 @@ #include #include -#include #include #include #include @@ -23,6 +22,7 @@ #include #include #include +#include #include "cmtpdataprovider.h" #include "cmtpdataprovidercontroller.h" @@ -394,10 +394,25 @@ case EEnumeratingDeviceVersion: { - TInt buildNo(0); - User::LeaveIfError(HAL::Get(HALData::EManufacturerSoftwareBuild, buildNo)); - __FLOG_VA((_L8("EManufacturerSoftwareBuild = %d "), buildNo)); - iDeviceVersion.Format(_L("%d"), buildNo); + HBufC* verBuf = HBufC::NewLC( KSysUtilVersionTextLength ); + TPtr ver = verBuf->Des(); + SysUtil::GetSWVersion( ver ); + + // parse sw fields and append to iDeviceVersion + /* + "010.007\n2010-03-08\nRM-596\nNokia" + */ + TChar separator('\n'); + TInt pos = ver.Locate( separator ); + if ( pos == KErrNotFound ) + { + iDeviceVersion.Append( ver ); + } + else + { + iDeviceVersion.Append( ver.Mid( 0, pos ) ); + } + CleanupStack::PopAndDestroy(verBuf); Schedule(EEnumeratingPhoneId); } break; @@ -495,7 +510,7 @@ iSynchronisationPartner = CMTPTypeString::NewL(*iSyncPartnerNameDefault); // 3. Device Version. - iDeviceVersion.CreateL(KMTPDefaultDeviceVersion); + iDeviceVersion.CreateL(KSysUtilVersionTextLength); // 4. Manufacturer. iPhoneIdV1.iManufacturer = KMTPDefaultManufacturer;