Revision: 201009 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 15 Mar 2010 12:40:36 +0200
branchRCL_3
changeset 6 69ec17276f52
parent 5 685c7418c584
child 7 d2c9bb3472e3
Revision: 201009 Kit: 201010
htiui/HtiCommPlugins/HtiBtCommPlugin/group/HtiBtCommServer.mmp
htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp
htiui/HtiServicePlugins/HtiMessagesServicePlugin/src/MessageMgmntHandler.cpp
htiui/HtiServicePlugins/HtiSysInfoServicePlugin/inc/HtiSysInfoServicePlugin.h
htiui/HtiServicePlugins/HtiSysInfoServicePlugin/src/HtiSysInfoServicePlugin.cpp
htiui/sis/HTI_S60-52.pkg
htiui/sis/HTI_stub.pkg
stifui/group/ReleaseNote.txt
stifui/sis/Stifui_31.sis
stifui/stifui/inc/version.h
stifui/uitestserverstarter/src/TestServerThreadStarter.cpp
--- a/htiui/HtiCommPlugins/HtiBtCommPlugin/group/HtiBtCommServer.mmp	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/HtiCommPlugins/HtiBtCommPlugin/group/HtiBtCommServer.mmp	Mon Mar 15 12:40:36 2010 +0200
@@ -39,7 +39,7 @@
 LIBRARY         euser.lib
 LIBRARY         efsrv.lib
 LIBRARY         bluetooth.lib
-LIBRARY         htibtserialcomhelper.lib
+LIBRARY         HtiBtSerialComHelper.lib
 
 SMPSAFE
 
--- a/htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp	Mon Mar 15 12:40:36 2010 +0200
@@ -141,6 +141,7 @@
             {
             PointerUp();
             SendOkMsgL();
+            iAdvPointerMoveArray.ResetAndDestroy(); 
             iReady = ETrue;
             }
         }		
@@ -525,7 +526,13 @@
 	TTimeIntervalMicroSeconds32 eventDelay = ( aData[offset] + ( aData[offset+1] << 8 ) ) * 1000;
 	offset += 2;
     HTI_LOG_FORMAT( "Event time = %d", eventDelay.Int() );
-	
+    
+    if (eventDelay.Int()<=0)
+        {
+        SendErrorMessageL( EInvalidParameters, KErrorInvalidParameters );
+        return;        
+        }
+    
     TInt stepCount = aData[offset] + ( aData[offset+1] << 8 );
     offset += 2;
     HTI_LOG_FORMAT( "Step Count = %d", stepCount );
@@ -541,6 +548,12 @@
         {
         TInt pointNumber,X1, Y1, Z1,X2,Y2, Z2 ;
         
+        // invalid pointer array 
+        if ((dataLength-offset)<3*2*2+1)
+            {
+            SendErrorMessageL( EInvalidParameters, KErrorInvalidParameters );
+            return;        
+            }        
         // start point	
 		pointNumber = aData[offset];
 		offset += 1;
--- a/htiui/HtiServicePlugins/HtiMessagesServicePlugin/src/MessageMgmntHandler.cpp	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/HtiServicePlugins/HtiMessagesServicePlugin/src/MessageMgmntHandler.cpp	Mon Mar 15 12:40:36 2010 +0200
@@ -374,6 +374,18 @@
     TBool isNew = (TBool)aData[position];
     TBool isUnread = (TBool)aData[position+1];
     TFolder folder = (TFolder)aData[position+2];
+    TInt extraAttNum;
+    position += 3;
+    TInt len = aData.Length();
+    if( aData.Length() > position )
+        {
+        extraAttNum = (TInt)aData[position];
+        }
+    else
+        {
+        extraAttNum = 0;
+        }
+    position++;
 
     HTI_LOG_TEXT( "Creating MMS Client MTM" );
     CMmsClientMtm* mmsMtm = NULL;
@@ -539,72 +551,154 @@
 
     // handle attachment
     TBool attachmentsExist = EFalse;
-    if ( attPath->Length() > 0 )
-        {
-        HTI_LOG_TEXT( "Handling attachment..." );
-        // check that attachment exists
-        RFs fsSession;
-        if ( fsSession.Connect() != KErrNone )
+	if ( attPath->Length() > 0 )
+		{
+		HTI_LOG_TEXT( "Handling attachment..." );
+		// check that attachment exists
+		RFs fsSession;
+		if ( fsSession.Connect() != KErrNone )
+			{
+			HTI_LOG_FORMAT( "Error in connecting to file server session: %d", err );
+			SendErrorMessageL( KErrCouldNotConnect, KErrorRfsConnectFailed );
+			CleanupStack::PopAndDestroy( store );
+			CleanupStack::PopAndDestroy( mmsMtm );
+			CleanupStack::PopAndDestroy( attPath );
+			CleanupStack::PopAndDestroy( body );
+			CleanupStack::PopAndDestroy( description );
+			CleanupStack::PopAndDestroy( fromTo );
+			return;
+			}
+
+		TBool fileExists = BaflUtils::FileExists( fsSession, attPath->Des() );
+		fsSession.Close();
+		if ( !fileExists )
+			{
+			HTI_LOG_TEXT( "Attachment file not found" );
+			SendErrorMessageL( KErrPathNotFound, KErrorAttachmentNotFound );
+			store->RevertL();
+			CleanupStack::PopAndDestroy( store );
+			CleanupStack::PopAndDestroy( mmsMtm );
+			CleanupStack::PopAndDestroy( attPath );
+			CleanupStack::PopAndDestroy( body );
+			CleanupStack::PopAndDestroy( description );
+			CleanupStack::PopAndDestroy( fromTo );
+			return;
+			}
+		else
+			{
+			// save the attachment
+			TParse parser;
+			parser.Set( *attPath, NULL, NULL);
+			TFileName shortFileName = parser.NameAndExt();
+
+			// get the mime type
+			RApaLsSession ls;
+			User::LeaveIfError( ls.Connect() );
+			CleanupClosePushL( ls );
+			TUid appUid;
+			TDataType dataType;
+			ls.AppForDocument( *attPath, appUid, dataType );
+			CleanupStack::PopAndDestroy(); // ls
+			TPtrC8 mimeType = dataType.Des8();
+
+			// attachment settings
+			// ownership of attachment will be transferred
+			CMsvAttachment* attachment = CMsvAttachment::NewL(
+					CMsvAttachment::EMsvFile );
+			attachment->SetAttachmentNameL( shortFileName );
+			attachment->SetMimeTypeL( mimeType );
+
+			// save
+			CWaiter* waiter = CWaiter::NewLC();
+			attachMan.AddAttachmentL( *attPath, attachment, waiter->iStatus );
+			waiter->StartAndWait();
+			CleanupStack::PopAndDestroy( waiter );
+			attachmentsExist = ETrue;
+			}
+		}
+
+    do
+		{
+		HBufC16* attPath2;
+       if(extraAttNum-- > 0)
             {
-            HTI_LOG_FORMAT( "Error in connecting to file server session: %d", err );
-            SendErrorMessageL( KErrCouldNotConnect, KErrorRfsConnectFailed );
-            CleanupStack::PopAndDestroy( store );
-            CleanupStack::PopAndDestroy( mmsMtm );
-            CleanupStack::PopAndDestroy( attPath );
-            CleanupStack::PopAndDestroy( body );
-            CleanupStack::PopAndDestroy( description );
-            CleanupStack::PopAndDestroy( fromTo );
-            return;
-            }
-
-        TBool fileExists = BaflUtils::FileExists( fsSession, attPath->Des() );
-        fsSession.Close();
-        if ( !fileExists )
-            {
-            HTI_LOG_TEXT( "Attachment file not found" );
-            SendErrorMessageL( KErrPathNotFound, KErrorAttachmentNotFound );
-            store->RevertL();
-            CleanupStack::PopAndDestroy( store );
-            CleanupStack::PopAndDestroy( mmsMtm );
-            CleanupStack::PopAndDestroy( attPath );
-            CleanupStack::PopAndDestroy( body );
-            CleanupStack::PopAndDestroy( description );
-            CleanupStack::PopAndDestroy( fromTo );
-            return;
+            attPath2 = ExtractDesLC( aData, position, 1 );
             }
         else
             {
-            // save the attachment
-            TParse parser;
-            parser.Set( *attPath, NULL, NULL);
-            TFileName shortFileName = parser.NameAndExt();
-
-            // get the mime type
-            RApaLsSession ls;
-            User::LeaveIfError( ls.Connect() );
-            CleanupClosePushL( ls );
-            TUid appUid;
-            TDataType dataType;
-            ls.AppForDocument( *attPath, appUid, dataType );
-            CleanupStack::PopAndDestroy(); // ls
-            TPtrC8 mimeType = dataType.Des8();
+            break;
+            }
 
-            // attachment settings
-            // ownership of attachment will be transferred
-            CMsvAttachment* attachment = CMsvAttachment::NewL(
-                    CMsvAttachment::EMsvFile );
-            attachment->SetAttachmentNameL( shortFileName );
-            attachment->SetMimeTypeL( mimeType );
+		if ( attPath2->Length() > 0 )
+			{
+			HTI_LOG_TEXT( "Handling attachment..." );
+			// check that attachment exists
+			RFs fsSession;
+			if ( fsSession.Connect() != KErrNone )
+				{
+				HTI_LOG_FORMAT( "Error in connecting to file server session: %d", err );
+				SendErrorMessageL( KErrCouldNotConnect, KErrorRfsConnectFailed );
+				CleanupStack::PopAndDestroy( store );
+				CleanupStack::PopAndDestroy( mmsMtm );
+				CleanupStack::PopAndDestroy( attPath );
+				CleanupStack::PopAndDestroy( body );
+				CleanupStack::PopAndDestroy( description );
+				CleanupStack::PopAndDestroy( fromTo );
+				CleanupStack::PopAndDestroy( attPath2 );
+				return;
+				}
+	
+			TBool fileExists = BaflUtils::FileExists( fsSession, attPath2->Des() );
+			fsSession.Close();
+			if ( !fileExists )
+				{
+				HTI_LOG_TEXT( "Attachment file not found" );
+				SendErrorMessageL( KErrPathNotFound, KErrorAttachmentNotFound );
+				store->RevertL();
+				CleanupStack::PopAndDestroy( store );
+				CleanupStack::PopAndDestroy( mmsMtm );
+				CleanupStack::PopAndDestroy( attPath );
+				CleanupStack::PopAndDestroy( body );
+				CleanupStack::PopAndDestroy( description );
+				CleanupStack::PopAndDestroy( fromTo );
+				CleanupStack::PopAndDestroy( attPath2 );
+				return;
+				}
+			else
+				{
+				// save the attachment
+				TParse parser;
+				parser.Set( *attPath2, NULL, NULL);
+				TFileName shortFileName = parser.NameAndExt();
+	
+				// get the mime type
+				RApaLsSession ls;
+				User::LeaveIfError( ls.Connect() );
+				CleanupClosePushL( ls );
+				TUid appUid;
+				TDataType dataType;
+				ls.AppForDocument( *attPath2, appUid, dataType );
+				CleanupStack::PopAndDestroy(); // ls
+				TPtrC8 mimeType = dataType.Des8();
+	
+				// attachment settings
+				// ownership of attachment will be transferred
+				CMsvAttachment* attachment = CMsvAttachment::NewL(
+						CMsvAttachment::EMsvFile );
+				attachment->SetAttachmentNameL( shortFileName );
+				attachment->SetMimeTypeL( mimeType );
+	
+				// save
+				CWaiter* waiter = CWaiter::NewLC();
+				attachMan.AddAttachmentL( *attPath2, attachment, waiter->iStatus );
+				waiter->StartAndWait();
+				CleanupStack::PopAndDestroy( waiter );
+				attachmentsExist = ETrue;
+				}
 
-            // save
-            CWaiter* waiter = CWaiter::NewLC();
-            attachMan.AddAttachmentL( *attPath, attachment, waiter->iStatus );
-            waiter->StartAndWait();
-            CleanupStack::PopAndDestroy( waiter );
-            attachmentsExist = ETrue;
-            }
-        }
-
+			CleanupStack::PopAndDestroy( attPath2 );
+			}
+		} while(ETrue);
     // save the changes made to the message store
     store->CommitL();
     CleanupStack::PopAndDestroy( store );
@@ -691,6 +785,18 @@
         TBool isNew = (TBool)aData[position];
         TBool isUnread = (TBool)aData[position+1];
         TFolder folder = (TFolder)aData[position+2];
+	    TInt extraAttNum;
+	    position += 3;
+	    TInt len = aData.Length();
+	    if( aData.Length() > position )
+	        {
+	        extraAttNum = (TInt)aData[position];
+	        }
+	    else
+	        {
+	        extraAttNum = 0;
+	        }
+	    position++;
 
         HTI_LOG_TEXT( "Creating SMTP Client MTM" );
         CSmtpClientMtm* smtpMtm = NULL;
@@ -845,6 +951,73 @@
             CleanupStack::PopAndDestroy(); // fsSession
             }
 
+		do
+			{
+			HBufC16* attPath2;
+			if(extraAttNum-- > 0)
+	            {
+	            attPath2 = ExtractDesLC( aData, position, 1 );
+	            }
+	        else
+	            {
+	            break;
+	            }
+            // check that attachment exists
+            RFs fsSession;
+            if ( fsSession.Connect() != KErrNone )
+                {
+                HTI_LOG_FORMAT( "Error in connecting to file server session: %d", err );
+                SendErrorMessageL( KErrCouldNotConnect, KErrorRfsConnectFailed );
+                CleanupStack::PopAndDestroy( smtpMtm );
+                CleanupStack::PopAndDestroy( attPath );
+                CleanupStack::PopAndDestroy( body );
+                CleanupStack::PopAndDestroy( description );
+                CleanupStack::PopAndDestroy( fromTo );
+                CleanupStack::PopAndDestroy( attPath2 );
+                return;
+                }
+            CleanupClosePushL( fsSession );
+
+            TBool fileExists = BaflUtils::FileExists( fsSession, attPath2->Des() );
+            if ( !fileExists )
+                {
+                HTI_LOG_TEXT( "Attachment file not found" );
+                SendErrorMessageL( KErrPathNotFound, KErrorAttachmentNotFound );
+                CleanupStack::PopAndDestroy(); // fsSession
+                CleanupStack::PopAndDestroy( smtpMtm );
+                CleanupStack::PopAndDestroy( attPath );
+                CleanupStack::PopAndDestroy( body );
+                CleanupStack::PopAndDestroy( description );
+                CleanupStack::PopAndDestroy( fromTo );
+                CleanupStack::PopAndDestroy( attPath2 );
+                return;
+                }
+            else
+                {
+                // get the mime type
+                HTI_LOG_TEXT( "Getting the attachment's mime type" );
+                RApaLsSession ls;
+                User::LeaveIfError( ls.Connect() );
+                TUid appUid;
+                TDataType dataType;
+                ls.AppForDocument( *attPath2, appUid, dataType );
+                TPtrC8 mimeType = dataType.Des8();
+
+                HTI_LOG_TEXT( "Adding the attachment" );
+                CWaiter* waiter = CWaiter::NewLC();
+                smtpMtm->AddAttachmentL( attPath2->Des(), mimeType, charset,
+                        waiter->iStatus );
+                waiter->StartAndWait();
+                CleanupStack::PopAndDestroy( waiter );
+                HTI_LOG_TEXT( "Attachment added succesfully" );
+                ls.Close();
+                attachmentsExist = ETrue;
+                }
+
+            CleanupStack::PopAndDestroy(); // fsSession
+			CleanupStack::PopAndDestroy( attPath2 );
+		} while(ETrue);
+
         // save the message
         smtpMtm->SaveMessageL();
 
@@ -1574,6 +1747,28 @@
                        1 + // is unread
                        1;  // folder
 
+    TInt extraAttPathLength = 0;
+    TInt extraAttNum = 0;
+    TInt extraNumLen = 0;
+    if( wholeLength < aData.Length() )
+    	{
+    	offset = wholeLength;
+        extraAttNum = aData[offset];
+        offset ++;
+
+        extraNumLen = 1;
+
+	    while( offset < aData.Length() && extraAttNum > 0)
+	    	{
+	        extraAttPathLength += aData[offset];
+	        extraAttPathLength ++;
+	        extraAttNum --;
+	        offset += 1 + aData[offset];
+	    	}
+	    }
+
+	wholeLength += extraNumLen + extraAttPathLength;
+	
     if ( wholeLength != aData.Length() )
         {
         HTI_LOG_TEXT( "Error: wrong length of data (wholeLength)" );
--- a/htiui/HtiServicePlugins/HtiSysInfoServicePlugin/inc/HtiSysInfoServicePlugin.h	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/HtiServicePlugins/HtiSysInfoServicePlugin/inc/HtiSysInfoServicePlugin.h	Mon Mar 15 12:40:36 2010 +0200
@@ -98,6 +98,7 @@
         void ParseTimeDataL( const TDesC8& aTimeData, TTime& aResult );
         TInt CleanUpTempFiles();
         TBool CanTurnBluetoothOnL( const TBool aUseForce );
+        TInt CreatFileToEatDiskSpace( TFileName aPath, TInt64 aSpaceToEat  );
 
     private: // private data
         RFs iFs;
@@ -137,6 +138,7 @@
     private:
         CActiveSchedulerWait* iWait;
         TInt iResult;
+        
     };
 
 
--- a/htiui/HtiServicePlugins/HtiSysInfoServicePlugin/src/HtiSysInfoServicePlugin.cpp	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/HtiServicePlugins/HtiSysInfoServicePlugin/src/HtiSysInfoServicePlugin.cpp	Mon Mar 15 12:40:36 2010 +0200
@@ -60,6 +60,7 @@
 
 _LIT( KTempFilePath, "\\" );
 _LIT( KTempFileName, "HtiTempFile.tmp" );
+_LIT( KMatchFileName, "HtiTempFile.tmp*" );
 _LIT( KDateSeparatorChars, ".:/-" );
 _LIT( KTimeSeparatorChars, ".:" );
 
@@ -1088,39 +1089,25 @@
 //------------------------------------------------------------------------------
 void CHtiSysInfoServicePlugin::HandleEatDiskSpaceL( const TDesC8& aMessage )
     {
+    HTI_LOG_FUNC_IN( "CHtiSysInfoServicePlugin::HandleEatDiskSpaceL" );
+    
     if ( aMessage.Length() != 10 )
         {
         iDispatcher->DispatchOutgoingErrorMessage(
             KErrArgument,
             KErrDescrArgument,
             KSysInfoServiceUid );
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleEatDiskSpaceL" );
         return;
         }
 
-
+    TFileName commonpath;
+    commonpath.Append( aMessage[1] );
+    commonpath.Append( _L( ":" ) );
+    commonpath.Append( KTempFilePath );
+    commonpath.Append( KTempFileName );
     TFileName path;
-    path.Append( aMessage[1] );
-    path.Append( _L( ":" ) );
-    path.Append( KTempFilePath );
-    path.Append( KTempFileName );
-
-    HTI_LOG_TEXT( "Temp file path:" );
-    HTI_LOG_DES( path );
-
-    // check if previous temp file exists and delete it
-    if ( BaflUtils::FileExists( iFs, path ) )
-        {
-        TInt err = iFileMan->Delete( path );
-        if ( err )
-            {
-            iDispatcher->DispatchOutgoingErrorMessage(
-                err,
-                KErrDescrDeleteTempFile,
-                KSysInfoServiceUid );
-            return;
-            }
-        }
-
+        
     // get free disk space
     TInt drive;
     RFs::CharToDrive( TChar( aMessage[1] ), drive );
@@ -1132,6 +1119,7 @@
             err,
             KErrDescrVolInfo,
             KSysInfoServiceUid );
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleEatDiskSpaceL" );
         return;
         }
 
@@ -1157,37 +1145,70 @@
             KErrDiskFull,
             KErrDescrNotEnoughSpace,
             KSysInfoServiceUid );
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleEatDiskSpaceL" );
         return;
         }
 
     // check if scaceToEat is greater than KMaxTInt
     //  --> it must be eaten in several chunks
     //  --> not yet supported.
-    if ( spaceToEat > KMaxTInt )
+
+    TInt64 size;
+    for(TInt i=1;  spaceToEat>0; i++)
         {
-        HTI_LOG_TEXT( "Cannot allocate a file bigger than KMaxTInt" );
-
-        iDispatcher->DispatchOutgoingErrorMessage(
-            KErrOverflow,
-            KErrDescrSetSizeTempFile,
-            KSysInfoServiceUid );
-        return;
+        path.Zero();
+        path.Copy(commonpath);
+        path.AppendNum(i);
+        if ( BaflUtils::FileExists( iFs, path ) )
+            {
+            continue;
+            }
+        
+        if(spaceToEat > KMaxTInt)  
+            size=KMaxTInt;
+        else
+            size=spaceToEat;
+        
+        err = CreatFileToEatDiskSpace(path, size);
+        if(err)
+            { 
+            HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleEatDiskSpaceL CreateFile Fail" );
+            return;  
+            }        
+        
+        iFs.Volume( volInfo, drive );
+        HTI_LOG_FORMAT( "current free space: %Ld", volInfo.iFree );
+        spaceToEat = volInfo.iFree - spaceLeftFree;           
         }
 
+    // all ok, send the remaining disk size back
+    iReply = HBufC8::NewL( 8 );
+    iReply->Des().Append( ( TUint8* )( &volInfo.iFree ), 8 );
+    HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleEatDiskSpaceL" );
+    }
+
+TInt CHtiSysInfoServicePlugin::CreatFileToEatDiskSpace( TFileName aPath, TInt64 aSpaceToEat  )
+    {
+    HTI_LOG_FUNC_IN( "CHtiSysInfoServicePlugin::CreatFileToEatDiskSpace" );
+    
+    HTI_LOG_FORMAT( "Create file: %S", &aPath );
+    HTI_LOG_FORMAT( "file size %Ld", aSpaceToEat );
+    
     // create a temp file
     RFile diskEater;
-    err = diskEater.Replace( iFs, path, EFileWrite );
+    TInt err = diskEater.Replace( iFs, aPath, EFileWrite );
     if ( err )
         {
         iDispatcher->DispatchOutgoingErrorMessage(
             err,
             KErrDescrCreateTempFile,
             KSysInfoServiceUid );
-        return;
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::CreatFileToEatDiskSpace Replace error" );
+        return err;
         }
-
+    
     // set the size for temp file
-    err = diskEater.SetSize( I64LOW( spaceToEat ) );
+    err = diskEater.SetSize( I64LOW( aSpaceToEat ) );
     if ( err )
         {
         iDispatcher->DispatchOutgoingErrorMessage(
@@ -1195,23 +1216,12 @@
             KErrDescrSetSizeTempFile,
             KSysInfoServiceUid );
         diskEater.Close();
-        return;
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::CreatFileToEatDiskSpace SetSize error" );
+        return err;
         }
     diskEater.Close();
-
-    err = iFs.Volume( volInfo, drive );
-    if ( err )
-        {
-        iDispatcher->DispatchOutgoingErrorMessage(
-            err,
-            KErrDescrVolInfo,
-            KSysInfoServiceUid );
-        return;
-        }
-
-    // all ok, send the remaining disk size back
-    iReply = HBufC8::NewL( 8 );
-    iReply->Des().Append( ( TUint8* )( &volInfo.iFree ), 8 );
+    HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::CreatFileToEatDiskSpace" );
+    return 0;
     }
 
 //------------------------------------------------------------------------------
@@ -1219,41 +1229,33 @@
 //------------------------------------------------------------------------------
 void CHtiSysInfoServicePlugin::HandleReleaseDiskSpaceL( const TDesC8& aMessage )
     {
+    HTI_LOG_FUNC_IN( "CHtiSysInfoServicePlugin::HandleReleaseDiskSpaceL" );
     if ( aMessage.Length() != 2 )
         {
         iDispatcher->DispatchOutgoingErrorMessage(
             KErrArgument,
             KErrDescrArgument,
             KSysInfoServiceUid);
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleReleaseDiskSpaceL" );
         return;
         }
 
     TFileName path;
     path.Append( aMessage[1] );
     path.Append( _L( ":" ) );
-    path.Append( KTempFilePath );
-    path.Append( KTempFileName );
-
-    HTI_LOG_TEXT( "Temp file path:" );
-    HTI_LOG_DES( path );
-
-    TInt err = KErrNone;
-    // check that temp file exists
-    if ( BaflUtils::FileExists( iFs, path ) )
+    path.Append(KTempFilePath);
+    path.Append(KMatchFileName);
+    TInt err = iFileMan->Delete(path);
+    if ( err )
         {
-        // try to delete the temp file
-        err = iFileMan->Delete( path );
-        if ( err )
-            {
-            iDispatcher->DispatchOutgoingErrorMessage(
+        iDispatcher->DispatchOutgoingErrorMessage(
                 err,
                 KErrDescrDeleteTempFile,
                 KSysInfoServiceUid );
-
-            return;
-            }
-        }
-
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleReleaseDiskSpaceL" );
+        return;
+        } 
+    
     // query the free disk space
     TInt drive;
     RFs::CharToDrive( TChar( aMessage[1] ), drive );
@@ -1265,13 +1267,15 @@
             err,
             KErrDescrVolInfo,
             KSysInfoServiceUid );
-
+        HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleReleaseDiskSpaceL" );
         return;
         }
 
     // all ok, send the free disk space back
     iReply = HBufC8::NewL( 8 );
     iReply->Des().Append( ( TUint8* )( &volInfo.iFree ), 8 );
+
+    HTI_LOG_FUNC_OUT( "CHtiSysInfoServicePlugin::HandleReleaseDiskSpaceL" );
     }
 
 //------------------------------------------------------------------------------
@@ -2857,27 +2861,18 @@
 TInt CHtiSysInfoServicePlugin::CleanUpTempFiles()
     {
     HTI_LOG_FUNC_IN( "CHtiSysInfoServicePlugin::CleanUpTempFiles" );
-
     TFindFile finder( iFs );
-    TFileName path( KTempFilePath );
-    TInt err = finder.FindByPath( KTempFileName, &path );
-
+    CDir* dir = NULL;
+    TInt err = finder.FindWildByDir(KMatchFileName, KTempFilePath, dir);
     while ( err == KErrNone )
         {
-        TFileName tempFile = finder.File();
-
-        HTI_LOG_TEXT( "Found temp file: " );
-        HTI_LOG_DES( tempFile );
-
-        err = iFileMan->Delete( tempFile );
-
-        // return if deleting does not succeed to prevent mad man loop
-        if ( err != KErrNone ) return err;
-
-        // try to find next temp file
-        err = finder.FindByPath( KTempFileName, &path );
+        TFileName path;
+        path.Copy(finder.File());
+        iFileMan->Delete(path);
+        delete dir;
+        dir = NULL;
+        err = finder.FindWildByDir(KMatchFileName, KTempFilePath, dir);
         }
-
     HTI_LOG_FUNC_OUT("CHtiSysInfoServicePlugin::CleanUpTempFiles");
     return KErrNone;
     }
--- a/htiui/sis/HTI_S60-52.pkg	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/sis/HTI_S60-52.pkg	Mon Mar 15 12:40:36 2010 +0200
@@ -18,7 +18,7 @@
 &EN
 
 ; Using UID of HtiFramework project
-#{"HTI"},(0x1020DEB6),2,16,0
+#{"HTI"},(0x1020DEB6),2,17,0
 
 ; Series60 product id for S60 5.2
 [0x20022E6D], 0, 0, 0, {"Series60ProductID"}
--- a/htiui/sis/HTI_stub.pkg	Fri Mar 12 15:42:49 2010 +0200
+++ b/htiui/sis/HTI_stub.pkg	Mon Mar 15 12:40:36 2010 +0200
@@ -18,7 +18,7 @@
 &EN
 
 ; Using UID of HtiFramework project
-#{"HTI"},(0x1020DEB6),2,16,0
+#{"HTI"},(0x1020DEB6),2,17,0
 
 ; Localised Vendor name
 %{"Nokia"}
@@ -98,7 +98,7 @@
 ""- "z:\sys\bin\HtiDeviceRebootUI.exe"
 
 ; HTI Framework
-""- "z:\sys\bin\HTIFramework.exe"
+""- "z:\sys\bin\HtiFramework.exe"
 
 ; AutoStart recogniser plug-in
 ""- "z:\sys\bin\HtiAutoStart.dll"
--- a/stifui/group/ReleaseNote.txt	Fri Mar 12 15:42:49 2010 +0200
+++ b/stifui/group/ReleaseNote.txt	Mon Mar 15 12:40:36 2010 +0200
@@ -1,5 +1,5 @@
 ========================================================================
-RELEASE NOTE FOR STIF UI - STIF_201006 (7.3.26)
+RELEASE NOTE FOR STIF UI - STIF_201008 (7.3.27)
 SUPPORTING SERIES 60 3.0 ->
 ========================================================================
 
Binary file stifui/sis/Stifui_31.sis has changed
--- a/stifui/stifui/inc/version.h	Fri Mar 12 15:42:49 2010 +0200
+++ b/stifui/stifui/inc/version.h	Mon Mar 15 12:40:36 2010 +0200
@@ -20,9 +20,9 @@
 
 #define STIFUI_MAJOR_VERSION 7
 #define STIFUI_MINOR_VERSION 3
-#define STIFUI_BUILD_VERSION 26
+#define STIFUI_BUILD_VERSION 27
 
-#define STIFUI_REL_DATE "09th Feb 2010"
+#define STIFUI_REL_DATE "23th Feb 2010"
 
 #define TO_UNICODE(text) _L(text) 
 
--- a/stifui/uitestserverstarter/src/TestServerThreadStarter.cpp	Fri Mar 12 15:42:49 2010 +0200
+++ b/stifui/uitestserverstarter/src/TestServerThreadStarter.cpp	Mon Mar 15 12:40:36 2010 +0200
@@ -105,13 +105,21 @@
 
 	User().CommandLine( moduleName );
 
-    RDebug::Print (moduleName);
+    RDebug::Print(_L("CTestServerThreadStarter::TestServerStarterThreadFunction() Received data [%S]"), &moduleName);
+
+    // Extract semaphore name passed in data
+    TInt index = moduleName.Find(_L(" "));
+    RDebug::Print(_L("CTestServerThreadStarter::TestServerStarterThreadFunction() Space separator found at position [%d]"), index);
+    TPtrC semaphoreName = moduleName.Mid(index + 1);
+    moduleName = moduleName.Left(index);
+
+    RDebug::Print(_L("CTestServerThreadStarter::TestServerStarterThreadFunction() Extracted module name [%S] and sempahore name [%S]"), &moduleName, &semaphoreName);
 
     // Open start-up synchronization semaphore
     RSemaphore startup;
     RDebug::Print(_L(" Openingstart-up semaphore"));
-    TName semaphoreName = _L("startupSemaphore");
-    semaphoreName.Append( moduleName );
+    //TName semaphoreName = _L("startupSemaphore");
+    //semaphoreName.Append( moduleName );
     
     TInt res = startup.OpenGlobal(semaphoreName);
     RDebug::Print(_L("Opening result %d"), res);    
@@ -123,7 +131,7 @@
     if ( r ==   KErrAlreadyExists )
         {        
         // Ok, server was already started
-        RDebug::Print(_L("UI TestServer already started, signaling semaphore and existing"));
+        RDebug::Print(_L("UI TestServer already started, signaling semaphore and exiting"));
         startup.Signal();        
 
         delete cmdLine;