homescreenpluginsrv/hspsmanager/src/hspsserverutil.cpp
branchRCL_3
changeset 101 9e077f9a342c
parent 82 ace62b58f4b2
child 110 2c7f27287390
--- a/homescreenpluginsrv/hspsmanager/src/hspsserverutil.cpp	Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/src/hspsserverutil.cpp	Mon Jun 21 16:00:38 2010 +0300
@@ -30,6 +30,7 @@
 #include "bautils.h" 
 #include "sysutil.h"
 #include <syslangutil.h>
+#include <DriveInfo.h>
 
 
 _LIT(KHspsFolder, "\\200159c0\\themes\\" );
@@ -1996,7 +1997,11 @@
              KDriveAttExclude|KDriveAttRemovable|KDriveAttRemote|KDriveAttSubsted );
          if( aFindFromUdaEmmcDrives )
              {
-             aFs.SetSessionToPrivate( EDriveE );
+             TInt drive = hspsServerUtil::GetEmmcDrivePath( aFs );
+             if ( drive != KErrNotFound )
+                 {
+                 aFs.SetSessionToPrivate( drive );
+                 }
              }
          else 
              {
@@ -2198,6 +2203,28 @@
     
 
 // -----------------------------------------------------------------------------
+// hspsServerUtil::GetEmmcDrivePathL
+// -----------------------------------------------------------------------------
+//
+TInt hspsServerUtil::GetEmmcDrivePath( RFs& aFs )
+    {
+    TInt drive = KErrNotFound;
+    if ( DriveInfo::GetDefaultDrive( 
+            DriveInfo::EDefaultMassStorage, drive ) == KErrNone )
+        {
+        TUint status;
+        if ( DriveInfo::GetDriveStatus( aFs, drive, status ) == KErrNone )
+            {
+            if ( status & DriveInfo::EDriveInternal )
+                {
+                return drive;
+                }
+            }
+        }
+    return KErrNotFound;
+    }          
+
+// -----------------------------------------------------------------------------
 // hspsServerUtil::hspsServerUtil
 // -----------------------------------------------------------------------------
 //