--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTestBlocks.cpp Mon Jan 18 21:03:15 2010 +0200
@@ -0,0 +1,652 @@
+/*
+* 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 "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: Implementation
+*
+*/
+
+
+
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include <avkon.hrh>
+//tests headers
+#include "LcStylusTapTest.h"
+
+// EXTERNAL DATA STRUCTURES
+//extern ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+_LIT(KBlueTooth, "Bluetooth");
+_LIT(KUSB, "USB");
+_LIT(KIRDA, "Infrared");
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+// ?value_n: ?description_line1
+// ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+ ?arg_type arg, // ?description
+ ?arg_type arg) // ?description
+ {
+
+ ?code // ?comment
+
+ // ?comment
+ ?code
+ }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CLcStylusTapTest::Delete()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CLcStylusTapTest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ //ADD NEW ENTRY HERE
+ // [test cases entries] - Do not remove
+ ENTRY( "ExecuteApiTestBlock", CLcStylusTapTest::ExecuteApiTestBlock ),
+ ENTRY( "ExecuteModuleTestBlock", CLcStylusTapTest::ExecuteModuleTestBlock ),
+ ENTRY( "ExecuteBranchTestBlock", CLcStylusTapTest::ExecuteBranchTestBlock ),
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::GetTestBlockParamsL
+// -----------------------------------------------------------------------------
+
+void CLcStylusTapTest::GetTestBlockParamsL( CStifItemParser& aItem )
+ {
+ STIF_LOG( ">>> GetTestBlockParamsL" );
+
+ // Add new test block branches below, get all required test parameters
+ if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
+ {
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
+ User::LeaveIfError( aItem.GetNextInt( iTestBlockParams.iTestIntOption1 ) );
+ User::LeaveIfError( aItem.GetNextChar( iTestBlockParams.iTestCharOption1 ) );
+ }
+ else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CreateLcStylusTap" ) ) )
+ {
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
+ }
+ else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "TextTapTest" ) ) )
+ {
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
+ }
+ else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CallHandleIndicatorTap" ) ) )
+ {
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );
+ User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
+ }
+ else//
+ {
+ STIF_LOG( "Test type: not found" );
+ User::Leave( KErrNotFound );
+ }
+ STIF_LOG( "<<< GetTestBlockParamsL" );
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::ExecuteApiTestBlock
+// -----------------------------------------------------------------------------
+
+TInt CLcStylusTapTest::ExecuteApiTestBlock( CStifItemParser& aItem )
+ {
+ STIF_LOG( ">>>ExecuteApiTestBlock" );
+
+ TInt res;
+ TLcStylusTapTestResult testResult = ETestCaseFailed;
+
+ TRAP( res, DoExecuteApiTestBlockL( aItem, testResult ) );
+ if ( res != KErrNone )
+ {
+ STIF_LOG1( "DoExecuteApiTestBlockL error: %d", res );
+ return res;
+ }
+
+ STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
+ STIF_LOG( "Test case passed" );
+ STIF_LOG( "<<<ExecuteApiTestBlock" );
+
+ return KErrNone;
+ }
+
+
+void CLcStylusTapTest::DoExecuteApiTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG( ">>>DoExecuteApiTestBlockL" );
+
+ User::LeaveIfError( aItem.GetString( _L( "ExecuteApiTestBlock" ), iTestBlockParams.iTestBlockName ) );
+ STIF_LOG1( "Api test type: %S", &iTestBlockParams.iTestBlockName );
+
+ GetTestBlockParamsL( aItem );
+
+ // Add new API test block branches with optional test parameters here
+ if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
+ {
+ ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2,
+ iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
+ }
+ else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CreateLcStylusTap" ) ) )
+ {
+ CreateLcStylusTapTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, aTestResult );
+ }
+ else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "TextTapTest" ) ) )
+ {
+ TextTapTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, aTestResult );
+ }
+ else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CallHandleIndicatorTap" ) ) )
+ {
+ CallHandleIndicatorTapTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, aTestResult );
+ }
+ else
+ {
+ STIF_LOG( "Test type: not found" );
+ User::Leave( KErrNotFound );
+ }
+
+ STIF_LOG( "<<<DoExecuteApiTestBlockL" );
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::ExecuteModuleTestBlock
+// -----------------------------------------------------------------------------
+
+TInt CLcStylusTapTest::ExecuteModuleTestBlock( CStifItemParser& aItem )
+ {
+ STIF_LOG( "[STIF_LOG] >>>ExecuteModuleTestBlock" );
+
+ TInt res;
+ TLcStylusTapTestResult testResult;
+
+ TRAP( res, DoExecuteModuleTestBlockL( aItem, testResult ) );
+ if ( res != KErrNone )
+ {
+ STIF_LOG1( "DoExecuteModuleTestBlockL error: %d", res );
+ return res;
+ }
+
+ STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
+ STIF_LOG( "[STIF_LOG] Test case passed" );
+ STIF_LOG( "[STIF_LOG] <<<ExecuteModuleTestBlock" );
+ return KErrNone;
+ }
+
+
+void CLcStylusTapTest::DoExecuteModuleTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG( "[STIF_LOG] >>>DoExecuteModuleTestBlockL" );
+
+ User::LeaveIfError( aItem.GetString( _L( "ExecuteModuleTestBlock" ), iTestBlockParams.iTestBlockName ) );
+ STIF_LOG1( "Module test type: %S", &iTestBlockParams.iTestBlockName );
+
+ GetTestBlockParamsL( aItem );
+
+ // Add new module test block branches with optional test parameters here
+ if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
+ {
+ ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2,
+ iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
+ }
+ else
+ {
+ STIF_LOG( "Test type: not found" );
+ User::Leave( KErrNotFound );
+ }
+
+ STIF_LOG( "[STIF_LOG] <<<DoExecuteModuleTestBlockL" );
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::ExecuteBranchTestBlock
+// -----------------------------------------------------------------------------
+
+TInt CLcStylusTapTest::ExecuteBranchTestBlock( CStifItemParser& aItem )
+ {
+ STIF_LOG( "[STIF_LOG] >>>ExecuteBranchTestBlock" );
+
+ TInt res;
+ TLcStylusTapTestResult testResult;
+
+ TRAP( res, DoExecuteBranchTestBlockL( aItem, testResult ) );
+ if ( res != KErrNone )
+ {
+ STIF_LOG1( "DoExecuteBranchTestBlockL error: %d", res );
+ return res;
+ }
+
+ STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
+ STIF_LOG( "[STIF_LOG] Test case passed" );
+ STIF_LOG( "[STIF_LOG] <<<ExecuteBranchTestBlock" );
+ return KErrNone;
+ }
+
+
+void CLcStylusTapTest::DoExecuteBranchTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG( "[STIF_LOG] >>>DoExecuteBranchTestBlockL" );
+
+ User::LeaveIfError( aItem.GetString( _L( "ExecuteBranchTestBlock" ), iTestBlockParams.iTestBlockName ) );
+ STIF_LOG1( "Branch test type: %S", &iTestBlockParams.iTestBlockName );
+
+ GetTestBlockParamsL( aItem );
+
+ // Add new branch test block branches with optional test parameters here
+ if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
+ {
+ ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2,
+ iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
+ }
+ else
+ {
+ STIF_LOG( "Test type: not found" );
+ User::Leave( KErrNotFound );
+ }
+
+ STIF_LOG( "[STIF_LOG] <<<DoExecuteBranchTestBlockL" );
+ }
+
+// Add test block methods implementation here
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::ExampleTestL
+// -----------------------------------------------------------------------------
+
+void CLcStylusTapTest::ExampleTestL( TPtrC aTestOption, TPtrC aTestSubOption,
+ TInt aTestIntOption, TInt aTestCharOption, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG( ">>>ExampleTestL" );
+
+ if ( !aTestOption.Compare( _L( "API" ) ) )
+ {
+ STIF_LOG1( "Api test option: %S", &aTestOption );
+ STIF_LOG1( "Api test sub-option: %S", &aTestSubOption );
+ STIF_LOG1( "Api test int option: %d", aTestIntOption );
+ STIF_LOG1( "Api test char option: %c", aTestCharOption );
+ }
+ else if ( !aTestOption.Compare( _L( "MODULE" ) ) )
+ {
+ STIF_LOG1( "Module test option: %S", &aTestOption );
+ STIF_LOG1( "Module test sub-option: %S", &aTestSubOption );
+ STIF_LOG1( "Module test int option: %d", aTestIntOption );
+ STIF_LOG1( "Module test char option: %c", aTestCharOption );
+ }
+ else if ( !aTestOption.Compare( _L( "BRANCH" ) ) )
+ {
+ STIF_LOG1( "Branch test option: %S", &aTestOption );
+ STIF_LOG1( "Branch test sub-option: %S", &aTestSubOption );
+ STIF_LOG1( "Branch test int option: %d", aTestIntOption );
+ STIF_LOG1( "Branch test char option: %c", aTestCharOption );
+ }
+ else
+ {
+ STIF_LOG( "Invalid test parameter" );
+ User::Leave( KErrNotFound );
+ }
+
+ aTestResult = ETestCasePassed;
+
+ STIF_LOG( "<<<ExampleTestL" );
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::CreateLcStylusTapTestL
+// -----------------------------------------------------------------------------
+//
+void CLcStylusTapTest::CreateLcStylusTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG( ">>>CreateLcStylusTapL" );
+
+ delete iLcStylusTap;
+ iLcStylusTap = NULL;
+
+ if( !aTestSubOption.Compare(_L( "BT" )) )
+ {
+ GetPluginImplementation(EAknIndicatorBluetoothModuleOnVisible);
+ STIF_LOG1( "CreateLcStylusTapL BT result: %d", iLcStylusTap ? 1 : 0 );
+ }
+ else if( !aTestSubOption.Compare(_L( "USB" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBConnection);
+ STIF_LOG1( "CreateLcStylusTapL USB result: %d", iLcStylusTap ? 1 : 0 );
+ }
+ else if( !aTestSubOption.Compare(_L( "IRDA" )) )
+ {
+ GetPluginImplementation(EAknIndicatorIrActive);
+ STIF_LOG1( "CreateLcStylusTapL IR result: %d", iLcStylusTap ? 1 : 0 );
+ }
+ else if( !aTestSubOption.Compare(_L( "USBMEM" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBMemConnected);
+ STIF_LOG1( "CreateLcStylusTapL USB result: %d", iLcStylusTap ? 1 : 0 );
+ }
+ else
+ {}
+
+ if(!iLcStylusTap)
+ {
+ STIF_LOG( "Error iLcStylusTap == NULL" );
+ return;
+ }
+
+ DestroyImplementation();
+
+ aTestResult = ETestCasePassed;
+
+ STIF_LOG( "<<<CreateLcStylusTapL" );
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::TextTapTestL
+// -----------------------------------------------------------------------------
+//
+void CLcStylusTapTest::TextTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG(">>CLcStylusTapTest::TextTapTestL");
+
+ HBufC* Media = NULL;
+ delete iLcStylusTap;
+ iLcStylusTap = NULL;
+
+ if( !aTestSubOption.Compare(_L( "BT" )) )
+ {
+ GetPluginImplementation(EAknIndicatorBluetoothModuleOnVisible);
+ if(iLcStylusTap)
+ {
+ Media = iLcStylusTap->TextL(EAknIndicatorBluetoothModuleOnVisible, iTextType);
+ STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorBluetoothModuleOnVisible, Media) );
+ STIF_LOG1( "TextL: %S, OK", Media );
+ }
+ }
+ else if( !aTestSubOption.Compare(_L( "USB" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBConnection);
+ if(iLcStylusTap)
+ {
+ Media = iLcStylusTap->TextL(EAknIndicatorUSBConnection, iTextType);
+ STIF_LOG1( "TextL: %S, OK", Media );
+ STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorUSBConnection, Media) );
+ }
+ }
+ else if( !aTestSubOption.Compare(_L( "USBMEM" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBMemConnected);
+ if(iLcStylusTap)
+ {
+ Media = iLcStylusTap->TextL(EAknIndicatorUSBMemConnected, iTextType);
+ STIF_LOG1( "TextL: %S no checked", Media );
+ //STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorUSBMemConnected, Media) );
+ }
+ }
+ else if( !aTestSubOption.Compare(_L( "USBMEM_loc" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBMemConnected);
+ if(iLcStylusTap)
+ {
+ Media = iLcStylusTap->TextL(EAknIndicatorUSBMemConnected, iTextType);
+ STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorUSBMemConnected, Media) );
+ STIF_LOG1( "TextL: %S, OK", Media );
+ }
+ }
+ else
+ User::LeaveIfError(KErrNotFound);
+
+ DestroyImplementation();
+
+ aTestResult = ETestCasePassed;
+
+ STIF_LOG("<<CallHandleIndicatorTapL::TextTapTestL");
+ }
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::CallHandleIndicatorTapTestL
+// -----------------------------------------------------------------------------
+//
+void CLcStylusTapTest::CallHandleIndicatorTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult )
+ {
+ STIF_LOG(">>CLcStylusTapTest::CallHandleIndicatorTapL");
+
+ if( !aTestSubOption.Compare(_L( "BT" )) )
+ {
+ GetPluginImplementation(EAknIndicatorBluetoothModuleOnVisible);
+ if(iLcStylusTap)
+ {
+ iLcStylusTap->HandleIndicatorTapL(EAknIndicatorBluetoothModuleOnVisible);
+ STIF_LOG("HandleIndicatorTapL OK");
+ }
+ }
+ else if( !aTestSubOption.Compare(_L( "USB" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBConnection);
+ if(iLcStylusTap)
+ {
+ iLcStylusTap->HandleIndicatorTapL(EAknIndicatorUSBConnection);
+ STIF_LOG("HandleIndicatorTapL OK");
+ }
+ }
+ else if( !aTestSubOption.Compare(_L( "USBMEM" )) )
+ {
+ GetPluginImplementation(EAknIndicatorUSBMemConnected);
+ if(iLcStylusTap)
+ {
+ iLcStylusTap->HandleIndicatorTapL(EAknIndicatorUSBMemConnected);
+ STIF_LOG("HandleIndicatorTapL OK");
+ }
+ }
+ else if( !aTestSubOption.Compare(_L( "IRDA" )) )
+ {
+ GetPluginImplementation(EAknIndicatorIrActive);
+ if(iLcStylusTap)
+ {
+ iLcStylusTap->HandleIndicatorTapL(EAknIndicatorIrActive);
+ STIF_LOG("HandleIndicatorTapL OK");
+ }
+ }
+ else
+ User::LeaveIfError(KErrNotFound);
+
+ DestroyImplementation();
+
+ aTestResult = ETestCasePassed;
+
+ STIF_LOG(">>CLcStylusTapTest::CallHandleIndicatorTapL");
+ }
+
+// Other operaton functions
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::GetPluginImplementation
+// returns CLcStylusTap pointer
+// -----------------------------------------------------------------------------
+//
+TBool CLcStylusTapTest::GetPluginImplementation(TInt aValue)
+ {
+ STIF_LOG( ">>CLcStylusTapTest::GetPluginImplementation" );
+
+
+ const TUid uidInterfacetobepop = TUid::Uid(KAknIndicatorPluginInterfaceUid);
+ TRAPD(err, REComSession::ListImplementationsL(uidInterfacetobepop, iImplementations));
+ STIF_LOG1( "REComSession::ListImplementationsL err: %d", err );
+ if(err != KErrNone)
+ User::LeaveIfError(err);
+
+ delete iLcStylusTap;
+ iLcStylusTap = NULL;
+ //HBufC* Media = NULL;
+
+ TUid btimpluid = {KImplUIDBTIndicatorsPlugin};
+ TUid usbimpluid = {KImplUIDUSBIndicatorsPlugin};
+ TUid irimpluid = {KImplUIDIRIndicatorsPlugin};
+ TUid usbMemImp = {0x20026FC4};//usb_mem
+
+ switch (aValue)
+ {
+ case EAknIndicatorBluetooth://12
+ case EAknIndicatorBluetoothVisible:
+ case EAknIndicatorBluetoothModuleOn:
+ case EAknIndicatorBluetoothModuleOnVisible://55
+ iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(btimpluid, iDtor_Key) );
+ break;
+ case EAknIndicatorUSBConnection: //28
+ iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(usbimpluid, iDtor_Key) );
+ break;
+ case EAknIndicatorIrActive:
+ iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(irimpluid, iDtor_Key) );
+ break;
+ case EAknIndicatorUSBMemConnected:
+ case EAknIndicatorUSBMemActive:
+ iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(usbMemImp, iDtor_Key) );
+ break;
+ default:
+ STIF_LOG( "GetPluginImplementation ERROR!" );
+ User::LeaveIfError(KErrNotFound);
+ break;
+ }
+
+ STIF_LOG1( "iLcStylusTap: %d", iLcStylusTap ? 1 : 0 );
+
+ return ETrue;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::CheckTextResult
+// -------------------------------------------
+//
+TInt CLcStylusTapTest::CheckTextResult(TInt aValue, HBufC* &aMedia)
+ {
+ TInt err = KErrNone;
+
+ if(!aMedia)
+ {
+ User::Leave(KErrNotFound);
+ }
+
+ switch(aValue)
+ {
+ case EAknIndicatorBluetooth://12
+ case EAknIndicatorBluetoothVisible:
+ case EAknIndicatorBluetoothModuleOn:
+ case EAknIndicatorBluetoothModuleOnVisible://55
+ if(aMedia->Compare(KBlueTooth())!= 0 || iTextType != CAknIndicatorPlugin::EAknIndicatorPluginLinkText)
+ err = KErrNotFound;
+ break;
+ case EAknIndicatorUSBConnection:
+ if(aMedia->Compare(KUSB())!= 0 || iTextType != CAknIndicatorPlugin::EAknIndicatorPluginLinkText)
+ err = KErrNotFound;
+ break;
+ case EAknIndicatorIrActive:
+ if(aMedia->Compare(KIRDA())!= 0 || iTextType != CAknIndicatorPlugin::EAknIndicatorPluginLinkText)
+ err = KErrNotFound;
+ break;
+ default:
+ err = KErrNotFound;
+ break;
+ }
+
+ if(err == KErrNotFound)
+ {
+ delete aMedia;
+ aMedia = NULL;
+ User::LeaveIfError(KErrNotFound); // Did not match that should
+ }
+
+ STIF_LOG("CallHandleIndicatorTapL::CompareMedia OK");
+
+ return err;
+ }
+// -----------------------------------------------------------------------------
+// CLcStylusTapTest::DestroyImplementation
+// destroy plugin implementation
+// -------------------------------------------
+//
+void CLcStylusTapTest::DestroyImplementation()
+ {
+ STIF_LOG( ">>CLcStylusTapTest::DestroyImplementation" );
+
+ if(iLcStylusTap)
+ {
+ delete iLcStylusTap;
+ iLcStylusTap = NULL;
+ }
+
+ iImplementations.ResetAndDestroy();
+ iImplementations.Close();
+
+ REComSession::DestroyedImplementation(iDtor_Key);
+
+ STIF_LOG("<<CLcStylusTapTest::DestroyImplementation");
+ }
+
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+// [End of File] - Do not remove