mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp
branchRCL_3
changeset 4 60a94a45d437
parent 3 8b094906a049
child 13 81da3301b632
--- 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 <badesca.h>
 #include <bautils.h>
-#include <hal.h>
 #include <s32file.h>
 #include  <f32file.h>
 #include <tz.h>
@@ -23,6 +22,7 @@
 #include <mtp/mtpdatatypeconstants.h>
 #include <mtp/cmtpdataproviderplugin.h>
 #include <mtp/cmtptypefile.h>
+#include <sysutil.h>
 
 #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;