--- a/hti/HtiCommPlugins/HtiBtCommPlugin/group/HtiBtSerialComHelper.mmp Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiCommPlugins/HtiBtCommPlugin/group/HtiBtSerialComHelper.mmp Tue May 11 17:39:09 2010 +0300
@@ -39,7 +39,6 @@
USERINCLUDE ../BtEngine/inc
OS_LAYER_SYSTEMINCLUDE
-LIBRARY apparc.lib
LIBRARY bafl.lib
LIBRARY bluetooth.lib
LIBRARY btdevice.lib
@@ -47,7 +46,6 @@
LIBRARY btmanclient.lib
LIBRARY btpowercontrol.lib
LIBRARY c32.lib
-LIBRARY cone.lib
LIBRARY efsrv.lib
LIBRARY esock.lib
LIBRARY euser.lib
--- a/hti/HtiFramework/group/hti.cfg Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiFramework/group/hti.cfg Tue May 11 17:39:09 2010 +0300
@@ -77,7 +77,7 @@
# The flag indicating whether or not HTI should start automatically when,
# device starts. 0 means no, 1 means yes. If automatic start is not enabled,
# HTI can be started manually from HtiAdmin application.
-# Default value: 0 in emulator, 1 in hardware
+# Default value: 1
#EnableHtiAutoStart=0
#EnableHtiAutoStart=1
--- a/hti/HtiFramework/inc/HtiDispatcher.h Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiFramework/inc/HtiDispatcher.h Tue May 11 17:39:09 2010 +0300
@@ -480,6 +480,12 @@
* If the period is 0, reconnect would not happen.
*/
TInt iReconnectDelay;
+
+ /**
+ * Indicates reboot reason.
+ * Reason type is defined in enum RStarterSession::TResetReason value in starterclient.h
+ */
+ TInt iRebootReason;
};
--- a/hti/HtiFramework/inc/HtiMessage.h Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiFramework/inc/HtiMessage.h Tue May 11 17:39:09 2010 +0300
@@ -27,7 +27,8 @@
const TInt KPriorityMask = 0x2;
const TInt KHtiMsgServiceUidLen = 4;
-class CHtiMessage : public CBase
+
+NONSHARABLE_CLASS(CHtiMessage) : public CBase
{
public:
/**
--- a/hti/HtiFramework/inc/HtiMessageQueue.h Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiFramework/inc/HtiMessageQueue.h Tue May 11 17:39:09 2010 +0300
@@ -23,7 +23,7 @@
#include "HtiMessage.h"
-class CHtiMessageQueue : public CBase
+NONSHARABLE_CLASS(CHtiMessageQueue) : public CBase
{
public:
/**
--- a/hti/HtiFramework/src/HtiDispatcher.cpp Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiFramework/src/HtiDispatcher.cpp Tue May 11 17:39:09 2010 +0300
@@ -123,7 +123,8 @@
iIdleOverCommAdapter( EFalse ),
iHtiInstanceId( 0 ),
iShowErrorDialogs( aShowErrorDialogs ),
- iReconnectDelay (aReconnectDelay)
+ iReconnectDelay(aReconnectDelay),
+ iRebootReason(0)
{
HTI_LOG_FORMAT( "MaxQueueMemorySize %d", iMaxQueueMemorySize );
iQueueSizeLowThresold = ( iMaxQueueMemorySize / 2 ) / 2;
@@ -861,7 +862,23 @@
break;
case EHtiReboot:
+ {
+ if(aMessage.Length() == 2)
+ {
+ iRebootReason = aMessage[1];
+ }
+ else if(aMessage.Length() == 1)
+ {
+ iRebootReason = 0;
+ }
+ else
+ {
+ User::LeaveIfError(DispatchOutgoingErrorMessage( KErrArgument,
+ KErrDescrInvalidParameter,
+ KHtiSystemServiceUid ) );
+ }
ShutdownAndRebootDeviceL();
+ }
break;
case EHtiStop:
@@ -1022,7 +1039,16 @@
TInt err = KErrNone;
RProcess rebootProcess;
// First try the UI layer rebooter
- err = rebootProcess.Create( KHtiDeviceRebootExeUI, KNullDesC );
+ if(iRebootReason == 0)
+ {
+ err = rebootProcess.Create( KHtiDeviceRebootExeUI, KNullDesC );
+ }
+ else
+ {
+ TBuf<8> reasonNumber;
+ reasonNumber.Num(iRebootReason);
+ err = rebootProcess.Create( KHtiDeviceRebootExeUI, reasonNumber );
+ }
if ( err != KErrNone )
{
HTI_LOG_FORMAT( "UI layer rebooter failed with %d", err );
--- a/hti/HtiFramework/src/HtiFramework.cpp Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/HtiFramework/src/HtiFramework.cpp Tue May 11 17:39:09 2010 +0300
@@ -56,7 +56,7 @@
const static TInt KHtiDefaultPriority = 3;
const static TInt KHtiWatchDogEnabledDefault = 0;
const static TInt KHtiConsoleEnabledDefault = 0;
-const static TInt KHtiAutoStartEnabledDefault = 0;
+const static TInt KHtiAutoStartEnabledDefault = 1;
const static TInt KHtiShowErrorDialogsDefault = 1;
const static TInt KHtiReconnectDelay = 0;
--- a/hti/hti_plat/hti_api/inc/HtiVersion.h Tue Apr 27 18:14:33 2010 +0300
+++ b/hti/hti_plat/hti_api/inc/HtiVersion.h Tue May 11 17:39:09 2010 +0300
@@ -25,13 +25,13 @@
// CONSTANTS
const TUint8 KHtiVersionMajor = 2;
-const TUint8 KHtiVersionMinor = 17;
+const TUint8 KHtiVersionMinor = 21;
const TUint8 KHtiVersionBuild = 0;
const TUint16 KHtiVersionYear = 2010;
-const TUint8 KHtiVersionMonth = 2;
-const TUint8 KHtiVersionWeek = 5;
-const TUint8 KHtiVersionDay = 5;
+const TUint8 KHtiVersionMonth = 4;
+const TUint8 KHtiVersionWeek = 15;
+const TUint8 KHtiVersionDay = 16;
// MACROS
--- a/stif/TestEngine/src/TestModuleController.cpp Tue Apr 27 18:14:33 2010 +0300
+++ b/stif/TestEngine/src/TestModuleController.cpp Tue May 11 17:39:09 2010 +0300
@@ -250,6 +250,11 @@
if ( r != KErrNone )
{
+ if ( r == KErrBadName )
+ {
+ __TRACE( KError, ( CStifLogger::ERed, _L( "Test Module name or Configuration File name is too long: [%S]" ), &name) );
+ LeaveWithNotifyL( r, _L( "Test Module name or Configuration File name is too long." ) );
+ }
__TRACE( KError, ( CStifLogger::ERed, _L( "Can't connect to test module [%S], IniFile [%S]" ), &name, &aIniFile ) );
LeaveWithNotifyL( r, _L( "Can't connect to test module" ) );
}
--- a/stif/TestEngine/src/TestReport.cpp Tue Apr 27 18:14:33 2010 +0300
+++ b/stif/TestEngine/src/TestReport.cpp Tue May 11 17:39:09 2010 +0300
@@ -248,28 +248,24 @@
{
User::LeaveIfError( iFile.Replace( iFs,
pathAndFile,
- EFileWrite | EFileStreamText | EFileShareAny ) );
+ EFileWrite | EFileStreamText | EFileShareExclusive ) );
}
else
{
- TBool isOpen( EFalse );
- TInt fileOpen = iFs.IsFileOpen( pathAndFile, isOpen );
+ TInt fileOpen = iFile.Open( iFs,
+ pathAndFile,
+ EFileWrite | EFileStreamText | EFileShareAny );
if( fileOpen == KErrNotFound )
{
User::LeaveIfError(
iFile.Create( iFs,
pathAndFile,
- EFileWrite | EFileStreamText | EFileShareAny ) );
+ EFileWrite | EFileStreamText | EFileShareExclusive ) );
}
else if( fileOpen == KErrNone )
{
- User::LeaveIfError(
- iFile.Open( iFs,
- pathAndFile,
- EFileWrite | EFileStreamText | EFileShareAny ) );
TInt endPosOfFile = 0;
User::LeaveIfError( iFile.Seek( ESeekEnd, endPosOfFile ) );
-
}
else
{
Binary file stif/TestModuleTemplates/TestModuleTemplates.zip has changed
--- a/stif/TestServer/src/TestServerClient.cpp Tue Apr 27 18:14:33 2010 +0300
+++ b/stif/TestServer/src/TestServerClient.cpp Tue May 11 17:39:09 2010 +0300
@@ -120,6 +120,15 @@
do
{
semName.Format(_L("%S%d"), &semaphoreName, x);
+ if (semName.Length() > KMaxKernelName)
+ {
+ // if the cfg file name is larger than maximum length of acceptable length of semaphore .
+ RDebug::Print(_L("Test Module name or Configuration File name is too long."));
+
+ semName.Close();
+ return KErrBadName;
+ }
+
ret = startSemaphore.CreateGlobal(semName, 0);
RDebug::Print(_L("RTestServer::Connect() Creating global semaphore [%S] with result [%d]"), &semName, ret);
if(ret != KErrAlreadyExists)
@@ -153,7 +162,7 @@
// Data to be passed to new process. It will contain module name and synchronization semaphore name separated with space.
// I.e. it will be: "mymodule startupSemaphore0"
RBuf data;
- ret = data.Create(KMaxName);
+ ret = data.Create(KMaxFileName);
if(ret != KErrNone)
{
RDebug::Print(_L("RTestServer::Connect() Could not create buffer for data to be passed to process [%d]"), ret);
--- a/stif/group/ReleaseNote.txt Tue Apr 27 18:14:33 2010 +0300
+++ b/stif/group/ReleaseNote.txt Tue May 11 17:39:09 2010 +0300
@@ -1,5 +1,5 @@
========================================================================
-RELEASE NOTE FOR STIF - STIF_201014 (7.3.30)
+RELEASE NOTE FOR STIF - STIF_201016 (7.3.31)
SUPPORTING SERIES 60 3.0 ->
========================================================================
--- a/stif/inc/version.h Tue Apr 27 18:14:33 2010 +0300
+++ b/stif/inc/version.h Tue May 11 17:39:09 2010 +0300
@@ -20,9 +20,9 @@
#define STIF_MAJOR_VERSION 7
#define STIF_MINOR_VERSION 3
-#define STIF_BUILD_VERSION 30
+#define STIF_BUILD_VERSION 31
-#define STIF_REL_DATE "06th Apr 2010"
+#define STIF_REL_DATE "19th Apr 2010"
#define TO_UNICODE(text) _L(text)
Binary file stif/sis/Stif_31.sis has changed