--- a/localconnectivityservice/legacymodemplugin/src/monitorspeakerparser.cpp Fri Mar 19 09:42:38 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-/*
-* Copyright (c) 2009 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"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Handles commands "ATL", "ATL0", "ATL1", "ATL2", "ATL3", "ATM",
-* "ATM0", "ATM1" and "ATM2"
-*
-*/
-
-#include "monitorspeakerparser.h"
-#include "debug.h"
-
-_LIT8( KAtlCmd, "ATL" );
-_LIT8( KAtl0Cmd, "ATL0" );
-_LIT8( KAtl1Cmd, "ATL1" );
-_LIT8( KAtl2Cmd, "ATL2" );
-_LIT8( KAtl3Cmd, "ATL3" );
-_LIT8( KAtmCmd, "ATM" );
-_LIT8( KAtm0Cmd, "ATM0" );
-_LIT8( KAtm1Cmd, "ATM1" );
-_LIT8( KAtm2Cmd, "ATM2" );
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CMonitorSpeakerParser* CMonitorSpeakerParser::NewL(
- MLegacyModemPlugin* aCallback )
- {
- CMonitorSpeakerParser* self = new (ELeave) CMonitorSpeakerParser( aCallback );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMonitorSpeakerParser::~CMonitorSpeakerParser()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CHfpExtParserMisc::CHfpExtParserMisc
-// ---------------------------------------------------------------------------
-//
-CMonitorSpeakerParser::CMonitorSpeakerParser( MLegacyModemPlugin* aCallback ) :
- iCallback( aCallback )
- {
- iCmdHandlerType = ECmdHandlerTypeUndefined;
- iDetectedCmd = EDetectedCmdUndefined;
- }
-
-// ---------------------------------------------------------------------------
-// CHfpExtParserMisc::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CMonitorSpeakerParser::ConstructL()
- {
- if ( !iCallback )
- {
- User::Leave( KErrGeneral );
- }
- }
-
-// ---------------------------------------------------------------------------
-// Checks if the command is speaker loudness command
-// ---------------------------------------------------------------------------
-//
-TBool CMonitorSpeakerParser::CheckSpeakerLoudnessCommand( const TDesC8& aCmd )
- {
- TRACE_FUNC_ENTRY
- // The ATL command only supports one type: base
- // The ATL0 command only supports one type: base
- // The ATL1 command only supports one type: base
- // The ATL2 command only supports one type: base
- // The ATL3 command only supports one type: base
- iCmdHandlerType = iCallback->CheckCommandType( KAtlCmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATL;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtl0Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATL0;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtl1Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATL1;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtl2Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATL2;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtl3Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATL3;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- TRACE_FUNC_EXIT
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// Checks if the command is speaker mode command
-// ---------------------------------------------------------------------------
-//
-TBool CMonitorSpeakerParser::CheckSpeakerModeCommand( const TDesC8& aCmd )
- {
- TRACE_FUNC_ENTRY
- // The ATM command only supports one type: base
- // The ATM0 command only supports one type: base
- // The ATM1 command only supports one type: base
- // The ATM2 command only supports one type: base
- iCmdHandlerType = iCallback->CheckCommandType( KAtmCmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATM;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtm0Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATM0;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtm1Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATM1;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = iCallback->CheckCommandType( KAtm2Cmd, aCmd );
- if ( iCmdHandlerType == ECmdHandlerTypeBase )
- {
- iDetectedCmd = EDetectedCmdATM2;
- TRACE_FUNC_EXIT
- return ETrue;
- }
- TRACE_FUNC_EXIT
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// Main command handler (leaving version)
-// ---------------------------------------------------------------------------
-//
-TBool CMonitorSpeakerParser::HandleCommandL()
- {
- TRACE_FUNC_ENTRY
- TBool cmdUnderstood = EFalse;
- // Just return "OK" for all detected commands
- if ( iDetectedCmd != EDetectedCmdUndefined )
- {
- iCallback->CreateReplyAndComplete( EReplyTypeOk );
- cmdUnderstood = ETrue;
- }
- TRACE_FUNC_EXIT
- return cmdUnderstood;
- }
-
-// ---------------------------------------------------------------------------
-// From CLegacyModemPluginBase.
-// Reports the support status of an AT command. This is a synchronous API.
-// ---------------------------------------------------------------------------
-//
-TBool CMonitorSpeakerParser::IsCommandSupported( const TDesC8& aCmd )
- {
- TRACE_FUNC_ENTRY
- TBool cmdUnderstood = EFalse;
- // Set all to undefined if either the command or its type is unknown
- // HandleCommand() should be round only when both are set
- cmdUnderstood = CheckSpeakerLoudnessCommand( aCmd );
- if ( cmdUnderstood )
- {
- TRACE_FUNC_EXIT
- return ETrue;
- }
- cmdUnderstood = CheckSpeakerModeCommand( aCmd );
- if ( cmdUnderstood )
- {
- TRACE_FUNC_EXIT
- return ETrue;
- }
- iCmdHandlerType = ECmdHandlerTypeUndefined;
- iDetectedCmd = EDetectedCmdUndefined;
- TRACE_FUNC_EXIT
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// From CLegacyModemPluginBase.
-// Handles an AT command. Cancelling of the pending request is done by
-// HandleCommandCancel(). The implementation in the extension plugin should
-// be asynchronous.
-// ---------------------------------------------------------------------------
-//
-void CMonitorSpeakerParser::HandleCommand( const TDesC8& /*aCmd*/,
- RBuf8& /*aReply*/,
- TBool aReplyNeeded )
- {
- TRACE_FUNC_ENTRY
- if ( !aReplyNeeded )
- {
- TRACE_FUNC_EXIT
- return;
- }
- // Checking the iDetectedCmd here means that the failure is the
- // failing cmd type (set/read/test) for the command, not the command
- // itself (when cmdUnderstood is EFalse)
- TBool cmdUnderstood = EFalse;
- TRAPD( retTrap, cmdUnderstood=HandleCommandL() )
- if ( !cmdUnderstood || retTrap!=KErrNone )
- {
- iCallback->CreateReplyAndComplete( EReplyTypeError );
- }
- TRACE_FUNC_EXIT
- }
-
-// ---------------------------------------------------------------------------
-// From CLegacyModemPluginBase.
-// Cancels a pending HandleCommand request.
-// ---------------------------------------------------------------------------
-//
-void CMonitorSpeakerParser::HandleCommandCancel()
- {
- TRACE_FUNC_ENTRY
- TRACE_FUNC_EXIT
- }