--- a/localconnectivityservice/dun/atext/src/DunAtCmdHandler.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/dun/atext/src/DunAtCmdHandler.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -1467,11 +1467,13 @@
if ( aMode & KModeVerbose ) // verbose mode ON
{
iAtCmdExt.ReportVerboseModeChange( ETrue );
+ iVerboseOn = ETrue;
FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyVerboseStatusChange() verbose mode changed ON" ) ));
}
else // verbose mode OFF
{
iAtCmdExt.ReportVerboseModeChange( EFalse );
+ iVerboseOn = EFalse;
FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyVerboseStatusChange() verbose mode changed OFF" ) ));
}
FTRACE(FPrint( _L("CDunAtCmdHandler::ManageVerboseModeChange() (change) complete" ) ));
--- a/localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -286,10 +286,15 @@
void CDunAtCmdPusher::SendReplyData( TBool aRecvBuffer )
{
FTRACE(FPrint( _L("CDunAtCmdPusher::SendReplyData()") ));
- TDesC8* sendBuffer = &iRecvBuffer;
- if ( !aRecvBuffer )
+ TDesC8* sendBuffer = iOkBuffer;
+ if ( aRecvBuffer )
{
- sendBuffer = iOkBuffer;
+ sendBuffer = &iRecvBuffer;
+ // Check if last block of long push and remove "OK" if exists
+ if ( iReplyType==EReplyTypeOther && iReplyBytesLeft==0 )
+ {
+ CheckAndRemoveOkString();
+ }
}
FTRACE(FPrint( _L("CDunAtCmdPusher::SendReplyData() send reply:") ));
FTRACE(FPrintRaw(*sendBuffer) );
@@ -310,7 +315,6 @@
{
FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChange() EReplyTypeOther") ));
iNoErrorReceived = ETrue;
- CheckAndRemoveOkString();
SendReplyData();
}
break;
--- a/localconnectivityservice/headset/inc/headset.h Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/headset/inc/headset.h Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -317,7 +317,7 @@
* Handle doubleclick timer expiration
*
*/
- void ExpiredDubleClickTimer();
+ void ExpiredDoubleClickTimer();
/**
* Handle long press timer expiration
@@ -450,6 +450,11 @@
RASCliSession iAlarmServerSession;
/**
+ * Incoming call status
+ */
+ TBool iIncomingCallStatus;
+
+ /**
* Alarm statusd
*/
TBool iAlarmStatus;
--- a/localconnectivityservice/headset/src/headset.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/headset/src/headset.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -40,6 +40,7 @@
const TInt KHidUndefinedKeyCode = 0;
const TInt KHidNotSetKeyValue = 0;
const TInt KDoubleClickTimeout = 900000; // 0,9 seconds
+const TInt KDoubleClickTimeoutRing = 500000; // 0,5 seconds
const TInt KScanClickTimeout = 500000; // 0,5 seconds
const TInt KLongClickTimeout = 3000000; // 3 seconds
@@ -734,15 +735,47 @@
switch ( hookStatus )
{
case EOnHook:
- TRACE_INFO(_L("[HID]\tCHidHeadsetDriver Hook On Pressed"));
- iOnHookPressed = ETrue;
- break;
+ if ( !iIncomingCallStatus )
+ {
+ // For the first click, trigger the timer
+ // single click is handled in ExpiredDoubleClickTimer
+ if ( iDoubleClicktimer )
+ {
+ delete iDoubleClicktimer;
+ iDoubleClicktimer = NULL;
+ }
+ TRAP_IGNORE( iDoubleClicktimer = CKeyPressTimer::NewL( this,
+ TTimeIntervalMicroSeconds32( KDoubleClickTimeoutRing ),
+ EDoubleClickTimer ) );
+ if ( iDoubleClicktimer )
+ {
+ iIncomingCallStatus = ETrue;
+ }
+ else // If fail to create timer, handle as single click,
+ // for double click case, the next click will hang off
+ {
+ iIncomingCallStatus = EFalse;
+ iOnHookPressed = ETrue;
+ }
+ break; // switch
+ }
+ else
+ {
+ iIncomingCallStatus = EFalse;
+ if ( iDoubleClicktimer )
+ {
+ delete iDoubleClicktimer;
+ iDoubleClicktimer = NULL;
+ }
+ // This is the double click case, handle as EOffHook
+ }
+ // No break here
case EOffHook:
TRACE_INFO(_L("[HID]\tCHidHeadsetDriver Hook Off Pressed"));
iOffHookPressed = ETrue;
break;
case ENoHook:
- TRACE_INFO(_L("[HID]\tCHidHeadsetDriver Hook None Pressed"));
+ TRACE_INFO(_L("[HID]\tCHidHeadsetDriver Hook None Pressed"));
TRAP_IGNORE( HandleNoneHookPressL() );
break;
default:
@@ -1030,7 +1063,7 @@
switch ( aTimerType )
{
case EDoubleClickTimer:
- ExpiredDubleClickTimer();
+ ExpiredDoubleClickTimer();
break;
case ELongPressTimer:
ExpiredLongClickTimer();
@@ -1053,16 +1086,23 @@
}
// ---------------------------------------------------------------------------
-// ExpiredDubleClickTimer()
+// ExpiredDoubleClickTimer()
// ---------------------------------------------------------------------------
//
-void CHidHeadsetDriver::ExpiredDubleClickTimer()
+void CHidHeadsetDriver::ExpiredDoubleClickTimer()
{
TRACE_FUNC_ENTRY
if ( iDoubleClicktimer )
{
delete iDoubleClicktimer;
iDoubleClicktimer = NULL;
+
+ if ( iIncomingCallStatus )
+ {
+ iIncomingCallStatus = EFalse;
+ iOnHookPressed = ETrue;
+ ReleaseHookKey();
+ }
if ( iAlarmStatus )
{
RProperty::Set( KPSUidAlarmExtCntl, KAlarmStopKey,
--- a/localconnectivityservice/lccustomplugin/inc/lccustomplugin.h Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lccustomplugin/inc/lccustomplugin.h Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -15,7 +15,6 @@
*
*/
-
#ifndef C_LCCUSTOMPLUGIN_H
#define C_LCCUSTOMPLUGIN_H
@@ -23,6 +22,7 @@
class CLcCustomPlugin;
+/** Character types: carriage return, line feed or backspace */
enum TCharacterTypes
{
ECharTypeCR, // Carriage return
@@ -30,12 +30,30 @@
ECharTypeBS // Backspace
};
+/** Type of modes (quiet, verbose) */
enum TModeTypes
{
EModeTypeQuiet, // Quiet mode
EModeTypeVerbose // Verbose mode
};
+/** Handler types for the four types */
+enum TCmdHandlerType
+ {
+ ECmdHandlerTypeUndefined = KErrNotFound,
+ ECmdHandlerTypeBase = 0x01, // For command "AT+COMMAND"
+ ECmdHandlerTypeSet = 0x02, // For command "AT+COMMAND="
+ ECmdHandlerTypeRead = 0x04, // For command "AT+COMMAND?"
+ ECmdHandlerTypeTest = 0x08, // For command "AT+COMMAND=?"
+ };
+
+/** Detected commands */
+enum TDetectedCmd
+ {
+ EDetectedCmdUndefined,
+ EDetectedCmdCLAC // For command "AT+CLAC"
+ };
+
/**
* Class for common AT command handler interface
*
@@ -116,8 +134,6 @@
*
* @since S60 5.0
* @param aReplyType Type of reply
- * @param aDstBuffer Destination buffer; used for the API requiring the
- * AT command reply
* @param aSrcBuffer Source buffer; used only if aReplyType is EReplyTypeOther
* @param aError Completion code. If not KErrNone then other arguments are
* ignored and the request is completed to ATEXT with
@@ -125,7 +141,6 @@
* @return None
*/
virtual TInt CreateReplyAndComplete( TATExtensionReplyType aReplyType,
- RBuf8& aDstBuffer,
const TDesC8& aSrcBuffer=KNullDesC8,
TInt aError=KErrNone ) = 0;
@@ -142,6 +157,17 @@
TBool aOkReply ) = 0;
/**
+ * Checks if the command is a base, set, read or test type of command
+ *
+ * @since TB9.2
+ * @param aCmdBase Base part of the command to check
+ * @param aCmdFull Full command to check
+ * @return Type of command
+ */
+ virtual TCmdHandlerType CheckCommandType( const TDesC8& aCmdBase,
+ const TDesC8& aCmdFull ) = 0;
+
+ /**
* Returns the array of supported commands
*
* @since S60 5.0
@@ -347,8 +373,6 @@
*
* @since S60 5.0
* @param aReplyType Type of reply
- * @param aDstBuffer Destination buffer; used for the API requiring the
- * AT command reply
* @param aSrcBuffer Source buffer; used only if aReplyType is EReplyTypeOther
* @param aError Completion code. If not KErrNone then other arguments are
* ignored and the request is completed to ATEXT with
@@ -356,7 +380,6 @@
* @return None
*/
TInt CreateReplyAndComplete( TATExtensionReplyType aReplyType,
- RBuf8& aDstBuffer,
const TDesC8& aSrcBuffer=KNullDesC8,
TInt aError=KErrNone );
@@ -375,6 +398,18 @@
/**
* From MLcCustomPlugin.
+ * Checks if the command is a base, set, read or test type of command
+ *
+ * @since S60 5.0
+ * @param aCmdBase Base part of the command to check
+ * @param aCmdFull Full command to check
+ * @return Type of command
+ */
+ TCmdHandlerType CheckCommandType( const TDesC8& aCmdBase,
+ const TDesC8& aCmdFull );
+
+ /**
+ * From MLcCustomPlugin.
* Returns the array of supported commands
*
* @since S60 5.0
@@ -420,6 +455,18 @@
CLcCustomPluginBase* iHandler;
/**
+ * Buffer for handle command's command
+ * Not own.
+ */
+ const TDesC8* iHcCmd;
+
+ /**
+ * Buffer for handle command reply
+ * Not own.
+ */
+ RBuf8* iHcReply;
+
+ /**
* Global reply buffer for the AT command replies
*/
RBuf8 iReplyBuffer;
--- a/localconnectivityservice/lccustomplugin/inc/lclistallcmd.h Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lccustomplugin/inc/lclistallcmd.h Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -11,24 +11,15 @@
*
* Contributors:
*
-* Description: Handles the commands "AT+CLAC?" and "AT+CLAC"
+* Description: Handles the commands "AT+CLAC=?" and "AT+CLAC"
*
*/
-
#ifndef C_LCLISTALLCMD_H
#define C_LCLISTALLCMD_H
#include "lccustomplugin.h"
-/** Handler types for the two AT commands */
-enum TCmdHandlerType
- {
- ECmdHandlerTypeUndefined,
- ECmdHandlerTypeQuery, // For command "AT+CLAC=?"
- ECmdHandlerTypeList // For command "AT+CLAC"
- };
-
/**
* Class for handling commands "AT+CLAC=?" and "AT+CLAC"
*
@@ -58,6 +49,25 @@
void ConstructL();
/**
+ * Checks command types
+ *
+ * @since TB9.2
+ * @param aCmd Command to check
+ * @return ETrue if command understood, EFalse otherwise
+ */
+ TBool CheckCommand( const TDesC8& aCmd );
+
+ /**
+ * Main command handler (leaving version)
+ *
+ * @since TB9.2
+ * @return ETrue if command understood, EFalse otherwise
+ */
+ TBool HandleCommandL();
+
+// from base class MLcCustomPluginBase
+
+ /**
* Reports the support status of an AT command. This is a synchronous API.
*
* @param aCmd The AT command. Its format may vary depending on the
@@ -126,6 +136,11 @@
*/
TCmdHandlerType iCmdHandlerType;
+ /**
+ * Detected command
+ */
+ TDetectedCmd iDetectedCmd;
+
};
#endif // C_LCLISTALLCMD_H
--- a/localconnectivityservice/lccustomplugin/src/20021360.rss Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lccustomplugin/src/20021360.rss Fri Mar 12 15:46:58 2010 +0200
@@ -16,6 +16,7 @@
*/
+#include <atext_interfaceuid.h>
#include <registryinfo.rh>
// Declares info for two implementations
@@ -29,7 +30,7 @@
INTERFACE_INFO
{
// UID of interface that is implemented
- interface_uid = 0x2001CBEE; // ATEXT_INTERFACE_DUN_UID
+ interface_uid = ATEXT_INTERFACE_DUN_UID;
implementations =
{
// Info for BTSAC
@@ -38,7 +39,7 @@
implementation_uid = 0x20021375;
version_no = 1;
display_name = "LC Custom Plugin DUN";
- default_data= "PAT+CLAC";
+ default_data= "MAT+CLAC";
opaque_data = "";
}
};
@@ -46,7 +47,7 @@
INTERFACE_INFO
{
// UID of interface that is implemented
- interface_uid = 0x2001CBEF; // ATEXT_INTERFACE_HFP_UID
+ interface_uid = ATEXT_INTERFACE_HFP_UID;
implementations =
{
// Info for BTSAC
@@ -55,7 +56,7 @@
implementation_uid = 0x20021376;
version_no = 1;
display_name = "LC Custom Plugin HFP";
- default_data= "PAT+CLAC";
+ default_data= "MAT+CLAC";
opaque_data = "";
}
};
--- a/localconnectivityservice/lccustomplugin/src/lccustomplugin.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lccustomplugin/src/lccustomplugin.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -15,7 +15,6 @@
*
*/
-
#include "lccustomplugin.h"
#include "lclistallcmd.h"
#include "debug.h"
@@ -53,6 +52,8 @@
CLcCustomPlugin::CLcCustomPlugin() : CATExtPluginBase()
{
iHandler = NULL;
+ iHcCmd = NULL;
+ iHcReply = NULL;
}
// ---------------------------------------------------------------------------
@@ -83,6 +84,8 @@
TBool CLcCustomPlugin::IsCommandSupported( const TDesC8& aCmd )
{
TRACE_FUNC_ENTRY
+ iHcCmd = NULL;
+ iHcReply = NULL;
TInt i;
TInt count = iHandlers.Count();
for ( i=0; i<count; i++ )
@@ -114,6 +117,8 @@
TRACE_FUNC_ENTRY
if ( iHandler )
{
+ iHcCmd = &aCmd;
+ iHcReply = &aReply;
iHandler->HandleCommand( aCmd, aReply, aReplyNeeded );
}
TRACE_FUNC_EXIT
@@ -201,13 +206,13 @@
// Reports about external handle command error condition.
// This is for cases when for example DUN decided the reply contained an
// error condition but the plugin is still handling the command internally.
-// Example: in command line "AT+TEST;ATDT1234" was given. "AT+TEST" returns
-// "OK" and "ATDT" returns "CONNECT". Because "OK" and "CONNECT" are
-// different reply types the condition is "ERROR" and DUN ends processing.
-// This solution keeps the pointer to the last AT command handling plugin
-// inside ATEXT and calls this function there to report the error.
-// It is to be noted that HandleCommandCancel() is not sufficient to stop
-// the processing as the command handling has already finished.
+// Example: "AT+TEST;+TEST2" was given in command line; "AT+TEST" returns
+// non-EReplyTypeError condition and "AT+TEST2" returns EReplyTypeError.
+// As the plugin(s) returning the non-EReplyTypeError may still have some
+// ongoing operation then these plugins are notified about the external
+// EReplyTypeError in command line processing. It is to be noted that
+// HandleCommandCancel() is not sufficient to stop the processing as the
+// command handling has already finished.
// ---------------------------------------------------------------------------
//
void CLcCustomPlugin::ReportExternalHandleCommandError()
@@ -252,23 +257,28 @@
// ---------------------------------------------------------------------------
//
TInt CLcCustomPlugin::CreateReplyAndComplete( TATExtensionReplyType aReplyType,
- RBuf8& aDstBuffer,
const TDesC8& aSrcBuffer,
- TInt aError )
+ TInt aError )
{
TRACE_FUNC_ENTRY
iReplyBuffer.Close();
if ( aError != KErrNone )
{
HandleCommandCompleted( aError, EReplyTypeUndefined );
+ iHcCmd = NULL;
+ iHcReply = NULL;
TRACE_FUNC_EXIT
return KErrNone;
}
- TInt retVal = KErrNone;
+ if ( !iHcReply )
+ {
+ TRACE_FUNC_EXIT
+ return KErrGeneral;
+ }
switch ( aReplyType )
{
case EReplyTypeOther:
- if ( iQuietMode || !iVerboseMode )
+ if ( iQuietMode )
{
iReplyBuffer.Create( KNullDesC8 );
}
@@ -276,25 +286,23 @@
{
iReplyBuffer.Create( aSrcBuffer );
}
- CreatePartOfReply( aDstBuffer );
- HandleCommandCompleted( KErrNone, aReplyType );
break;
case EReplyTypeOk:
CreateOkOrErrorReply( iReplyBuffer, ETrue );
- CreatePartOfReply( aDstBuffer );
- HandleCommandCompleted( KErrNone, aReplyType );
break;
case EReplyTypeError:
CreateOkOrErrorReply( iReplyBuffer, EFalse );
- CreatePartOfReply( aDstBuffer );
- HandleCommandCompleted( KErrNone, aReplyType );
break;
default:
- retVal = KErrGeneral;
- break;
+ TRACE_FUNC_EXIT
+ return KErrGeneral;
}
+ CreatePartOfReply( *iHcReply );
+ HandleCommandCompleted( KErrNone, aReplyType );
+ iHcCmd = NULL;
+ iHcReply = NULL;
TRACE_FUNC_EXIT
- return retVal;
+ return KErrNone;
}
// ---------------------------------------------------------------------------
@@ -349,6 +357,58 @@
// ---------------------------------------------------------------------------
// From MLcCustomPlugin.
+// Checks if the command is a base, set, read or test type of command
+// ---------------------------------------------------------------------------
+//
+TCmdHandlerType CLcCustomPlugin::CheckCommandType(
+ const TDesC8& aCmdBase,
+ const TDesC8& aCmdFull )
+ {
+ TRACE_FUNC_ENTRY
+ TInt retTemp = KErrNone;
+ TBuf8<KDefaultCmdBufLength> atCmdBuffer;
+ atCmdBuffer.Copy( aCmdBase );
+ // Check "base" command ("AT+COMMAND")
+ retTemp = aCmdFull.Compare( atCmdBuffer );
+ if ( retTemp == 0 )
+ {
+ TRACE_FUNC_EXIT
+ return ECmdHandlerTypeBase;
+ }
+ // Check "read" command ("AT+COMMAND?")
+ // Add last question mark
+ atCmdBuffer.Append( '?' );
+ retTemp = aCmdFull.Compare( atCmdBuffer );
+ if ( retTemp == 0 )
+ {
+ TRACE_FUNC_EXIT
+ return ECmdHandlerTypeRead;
+ }
+ // Check "test" command ("AT+COMMAND=?")
+ // Add "=" before the question mark
+ _LIT8( KAssignmentMark, "=" );
+ atCmdBuffer.Insert( atCmdBuffer.Length()-1, KAssignmentMark );
+ retTemp = aCmdFull.Compare( atCmdBuffer );
+ if ( retTemp == 0 )
+ {
+ TRACE_FUNC_EXIT
+ return ECmdHandlerTypeTest;
+ }
+ // Check "set" command ("AT+COMMAND=")
+ // Remove last question mark
+ atCmdBuffer.SetLength( atCmdBuffer.Length() - 1 );
+ retTemp = aCmdFull.Compare( atCmdBuffer );
+ if ( retTemp == 0 )
+ {
+ TRACE_FUNC_EXIT
+ return ECmdHandlerTypeSet;
+ }
+ TRACE_FUNC_EXIT
+ return ECmdHandlerTypeUndefined;
+ }
+
+// ---------------------------------------------------------------------------
+// From MLcCustomPlugin.
// Returns the array of supported commands
// ---------------------------------------------------------------------------
//
--- a/localconnectivityservice/lccustomplugin/src/lclistallcmd.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lccustomplugin/src/lclistallcmd.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -15,16 +15,14 @@
*
*/
-
#include "lclistallcmd.h"
#include "debug.h"
-_LIT8( KListAllQueryCmd, "AT+CLAC=?" );
-_LIT8( KListAllCmd, "AT+CLAC" );
-
const TInt KCrLfLength = 2; // CR+LF
const TInt KOkReplyLength = 6; // CR+LF+"OK"+CR+LF
+_LIT8( KClacCmd, "AT+CLAC" );
+
// ---------------------------------------------------------------------------
// Two-phased constructor.
// ---------------------------------------------------------------------------
@@ -69,28 +67,42 @@
}
// ---------------------------------------------------------------------------
+// Checks command types
+// ---------------------------------------------------------------------------
+//
+TBool CLcListAllCmd::CheckCommand( const TDesC8& aCmd )
+ {
+ TRACE_FUNC_ENTRY
+ // The AT+CLAC command supports two types: base and test
+ iCmdHandlerType = iCallback->CheckCommandType( KClacCmd, aCmd );
+ if ( iCmdHandlerType==ECmdHandlerTypeBase ||
+ iCmdHandlerType==ECmdHandlerTypeTest )
+ {
+ iDetectedCmd = EDetectedCmdCLAC;
+ TRACE_FUNC_EXIT
+ return ETrue;
+ }
+ TRACE_FUNC_EXIT
+ return EFalse;
+ }
+
+// ---------------------------------------------------------------------------
// Reports the support status of an AT command. This is a synchronous API.
// ---------------------------------------------------------------------------
//
TBool CLcListAllCmd::IsCommandSupported( const TDesC8& aCmd )
{
TRACE_FUNC_ENTRY
- TInt retTemp = KErrNone;
- retTemp = aCmd.Compare( KListAllQueryCmd );
- if ( retTemp == 0 )
+ // Set all to undefined if either the command or its type is unknown
+ // HandleCommand() should be round only when both are set
+ TBool cmdUnderstood = CheckCommand( aCmd );
+ if ( cmdUnderstood )
{
- iCmdHandlerType = ECmdHandlerTypeQuery;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- retTemp = aCmd.Compare( KListAllCmd );
- if ( retTemp == 0 )
- {
- iCmdHandlerType = ECmdHandlerTypeList;
TRACE_FUNC_EXIT
return ETrue;
}
iCmdHandlerType = ECmdHandlerTypeUndefined;
+ iDetectedCmd = EDetectedCmdUndefined;
TRACE_FUNC_EXIT
return EFalse;
}
@@ -102,7 +114,7 @@
// ---------------------------------------------------------------------------
//
void CLcListAllCmd::HandleCommand( const TDesC8& /*aCmd*/,
- RBuf8& aReply,
+ RBuf8& /*aReply*/,
TBool aReplyNeeded )
{
TRACE_FUNC_ENTRY
@@ -111,52 +123,45 @@
TRACE_FUNC_EXIT
return;
}
- if ( iCmdHandlerType == ECmdHandlerTypeQuery )
+ if ( iCmdHandlerType == ECmdHandlerTypeTest )
{
- iCallback->CreateReplyAndComplete( EReplyTypeOk,
- aReply );
+ iCallback->CreateReplyAndComplete( EReplyTypeOk );
TRACE_FUNC_EXIT
return;
}
- // Else here means ECmdHandlerTypeList
+ // Else here means ECmdHandlerTypeBase
// First check the quiet mode and verbose mode.
// These are handled in CreateReplyAndComplete()
TInt retTemp;
TBool quietMode = EFalse;
- TBool verboseMode = EFalse;
retTemp = iCallback->GetModeValue( EModeTypeQuiet, quietMode );
- retTemp |= iCallback->GetModeValue( EModeTypeVerbose, verboseMode );
if ( retTemp != KErrNone )
{
- iCallback->CreateReplyAndComplete( EReplyTypeError,
- aReply );
- TRACE_FUNC_EXIT
- return;
- }
- if ( quietMode || !verboseMode )
- {
- iCallback->CreateReplyAndComplete( EReplyTypeOther,
- aReply );
+ iCallback->CreateReplyAndComplete( EReplyTypeError );
TRACE_FUNC_EXIT
return;
}
RBuf8 reply;
+ if ( quietMode )
+ {
+ iCallback->CreateReplyAndComplete( EReplyTypeOther, reply );
+ reply.Close();
+ TRACE_FUNC_EXIT
+ return;
+ }
TBool error = CreateSupportedList( reply );
if ( error )
{
- iCallback->CreateReplyAndComplete( EReplyTypeError,
- aReply );
+ iCallback->CreateReplyAndComplete( EReplyTypeError );
reply.Close();
TRACE_FUNC_EXIT
return;
}
RBuf8 okReply;
iCallback->CreateOkOrErrorReply( okReply, ETrue );
- reply.Append( okReply);
+ reply.Append( okReply );
okReply.Close();
- iCallback->CreateReplyAndComplete( EReplyTypeOther,
- aReply,
- reply );
+ iCallback->CreateReplyAndComplete( EReplyTypeOther, reply );
reply.Close();
TRACE_FUNC_EXIT
}
@@ -199,6 +204,7 @@
linearSize += KCrLfLength;
}
}
+ linearSize += KCrLfLength;
// Now we have the length of the linear region,
// use that to create the reply
TChar carriageReturn;
@@ -223,6 +229,8 @@
aReply.Append( lineFeed );
}
}
+ aReply.Append( carriageReturn );
+ aReply.Append( lineFeed );
// Delete the array as it is no longer needed
commands.ResetAndDestroy();
commands.Close();
--- a/localconnectivityservice/lcstylustap/data/lcstylustaprsc.rss Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lcstylustap/data/lcstylustaprsc.rss Fri Mar 12 15:46:58 2010 +0200
@@ -33,6 +33,6 @@
{
}
RESOURCE TBUF r_lcstylustap_bt_name { buf = qtn_bt_title_bluetooth; }
-RESOURCE TBUF r_lcstylustap_usb_name { buf = qtn_usb_title; }
+RESOURCE TBUF r_lcstylustap_usb_name { buf = qtn_usb_stylus_tap; }
RESOURCE TBUF r_lcstylustap_usb_mem_eject { buf = qtn_usb_mem_eject; }
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/conf/ui_LcStylusTapTest.cfg Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/conf/ui_LcStylusTapTest.cfg Fri Mar 12 15:46:58 2010 +0200
@@ -2,7 +2,7 @@
* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
+* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
--- a/localconnectivityservice/obexreceiveservices/bip/src/BIPController.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/obexreceiveservices/bip/src/BIPController.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -45,7 +45,7 @@
_LIT8(KBipCapabilityType, "x-bt/img-capabilities\0");
-const TInt KBufferSize = 0x4000; // 16kB
+const TInt KBufferSize = 0x10000; // 64 kB
// ================= MEMBER FUNCTIONS =======================
--- a/localconnectivityservice/obexreceiveservices/opp/src/oppcontroller.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/obexreceiveservices/opp/src/oppcontroller.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -37,7 +37,7 @@
// CONSTANTS
-const TInt KBufferSize = 0x4000; // 16kB
+const TInt KBufferSize = 0x10000; // 64 kB
// ================= MEMBER FUNCTIONS =======================
--- a/localconnectivityservice/obexserviceman/utils/src/obexutilsdialog.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/obexserviceman/utils/src/obexutilsdialog.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -201,7 +201,9 @@
if( iProgressDialog )
{
+ iProgressDialog->SetCallback(NULL);
iProgressDialog->ProcessFinishedL();
+ iProgressDialog = NULL;
if ( iObexDialogTimer )
{
--- a/localconnectivityservice/obexserviceman/utils/src/obexutilsuilayer.cpp Fri Feb 19 23:43:38 2010 +0200
+++ b/localconnectivityservice/obexserviceman/utils/src/obexutilsuilayer.cpp Fri Mar 12 15:46:58 2010 +0200
@@ -27,21 +27,8 @@
#include <AknGlobalConfirmationQuery.h>
#include <eikon.rsg>
#include <avkon.rsg>
-#ifdef NO101APPDEPFIXES
#include <muiu.mbg>
-#else //NO101APPDEPFIXES
-enum TMuiuConsts
- {
- EMbmMuiuQgn_prop_mce_ir_unread = 16402,
- EMbmMuiuQgn_prop_mce_ir_unread_mask = 16403,
- EMbmMuiuQgn_prop_mce_ir_read = 16404,
- EMbmMuiuQgn_prop_mce_ir_read_mask = 16405,
- EMbmMuiuQgn_prop_mce_bt_unread = 16406,
- EMbmMuiuQgn_prop_mce_bt_unread_mask = 16407,
- EMbmMuiuQgn_prop_mce_bt_read = 16408,
- EMbmMuiuQgn_prop_mce_bt_read_mask = 16409
- };
-#endif //NO101APPDEPFIXES
+
#include <bautils.h>
#include <featmgr.h>