--- a/fmradio/fmradioengine/src/fmradiordsreceiversimulator.cpp Thu Aug 19 09:55:21 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +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: The RDS receiver implementation for FM Radio
-*
-*/
-
-
-#include "fmradiordsreceiversimulator.h"
-
-const TInt KFMRadioRdsEventSimulationDelay = 3000000;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::CFMRadioRdsReceiverSimulator
-// ---------------------------------------------------------------------------
-//
-CFMRadioRdsReceiverSimulator::CFMRadioRdsReceiverSimulator( TRadioSettings& aSettings ) : CFMRadioRdsReceiverBase(aSettings)
- {
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CFMRadioRdsReceiverSimulator::ConstructL()
- {
- BaseConstructL();
- iEventSimulatorTimer = CPeriodic::NewL(CActive::EPriorityUserInput);
- SetAutomaticSwitchingL( iSettings.IsRdsAfSearchEnabled() );
- StartReceiver();
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::NewL
-// ---------------------------------------------------------------------------
-//
-CFMRadioRdsReceiverSimulator* CFMRadioRdsReceiverSimulator::NewL( TRadioSettings& aSettings )
- {
- CFMRadioRdsReceiverSimulator* self = new ( ELeave ) CFMRadioRdsReceiverSimulator( aSettings );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::~CFMRadioRdsReceiverSimulator
-// ---------------------------------------------------------------------------
-//
-CFMRadioRdsReceiverSimulator::~CFMRadioRdsReceiverSimulator()
- {
- if( iEventSimulatorTimer && iEventSimulatorTimer->IsActive() )
- {
- iEventSimulatorTimer->Cancel();
- }
-
- delete iEventSimulatorTimer;
- iEventSimulatorTimer = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::InitL
-// ---------------------------------------------------------------------------
-//
-void CFMRadioRdsReceiverSimulator::InitL( CRadioUtility& /*aRadioUtility*/, CFMRadioPubSub* aPubSub )
- {
- iPubSub = aPubSub;
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::StartReceiver
-// ---------------------------------------------------------------------------
-//
-void CFMRadioRdsReceiverSimulator::StartReceiver()
- {
- if( !iEventSimulatorTimer->IsActive() )
- {
- iEventSimulatorTimer->Start( TTimeIntervalMicroSeconds32(KFMRadioRdsEventSimulationDelay),
- TTimeIntervalMicroSeconds32(KFMRadioRdsEventSimulationDelay),
- TCallBack(StaticRdsSimulationCallback, this));
- }
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::StopReceiver
-// ---------------------------------------------------------------------------
-//
-void CFMRadioRdsReceiverSimulator::StopReceiver()
- {
- iEventSimulatorTimer->Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::SetRadioEngineForRadioFmTunerSimulation
-// ---------------------------------------------------------------------------
-//
-void CFMRadioRdsReceiverSimulator::SetRadioEngineForRadioFmTunerSimulation( CRadioEngine* aEngine )
- {
- iEngine = aEngine;
- }
-
-// ---------------------------------------------------------------------------
-// CFMRadioRdsReceiverSimulator::StaticRdsSimulationCallback
-// ---------------------------------------------------------------------------
-//
-TInt CFMRadioRdsReceiverSimulator::StaticRdsSimulationCallback( TAny* aSelfPtr )
- {
- TFMRadioRdsSimulationEvent events[] = { EFMRadioRdsEventRadioTextPlus,
- EFMRadioRdsEventRadioTextPlus,
- EFMRadioRdsEventRadioTextPlus,
- EFMRadioRdsEventRadioTextPlus,
- EFMRadioRdsEventSignalOn,
- // EFMRadioRdsEventAFBegin,
- // EFMRadioRdsEventAFEnd,
- EFMRadioRdsEventPS,
- EFMRadioRdsEventRadioText,
- //EFMRadioRdsEventSignalOff,
- //EFMRadioRdsEventSignalOn,
- EFMRadioRdsEventPS,
- EFMRadioRdsEventPS,
- // EFMRadioRdsEventRadioText,
- // EFMRadioRdsEventRadioText
- EFMRadioRdsEventAFBegin,
- EFMRadioRdsEventPS,
- EFMRadioRdsEventAFEnd,
- EFMRadioRdsEventSignalOff,
- EFMRadioRdsEventRadioTextPlus};
-
- TRdsPSName serviceNames[] =
- {
- _L("RadioXYZ"),
- _L("Some"),
- _L("program"),
- _L("service"),
- _L("text")
- };
-
- TRdsRadioText radioTexts[] =
- {
- _L("radio text"),
- _L("radio text radio text radio text"),
- _L("full radio text full radio text full radio text full radio textt")
- };
-
- TRdsRadioText radioTextsPlus[] =
- {
- _L("The rock song"),
- _L("Album of the year"),
- _L("Rock 'n' Rollers"),
- _L("http://www.symbianfoundation.org/"),
- _L("Disco Dancers"),
- _L("The disco song"),
- _L("The Greatest"),
- _L("http://developer.symbian.org/"),
- };
-
- TRdsRTplusClass radioTextsPlusClasses[] =
- {
- ERTplusItemTitle,
- ERTplusItemAlbum,
- ERTplusItemArtist,
- ERTplusProgramHomepage,
- ERTplusItemArtist,
- ERTplusItemTitle,
- ERTplusItemAlbum,
- ERTplusProgramHomepage,
- };
-
- TInt frequencies[] = { 103100000, 95800000 }; // Frequencies in hz
-
- TInt numEvents = sizeof( events ) / sizeof( TFMRadioRdsSimulationEvent );
- TInt numServiceNames = sizeof( serviceNames ) / sizeof( TRdsPSName );
- TInt numRadioTexts = sizeof( radioTexts ) / sizeof( TRdsRadioText );
- TInt numRadioTextsPlus = sizeof( radioTextsPlus ) / sizeof( TRdsRadioText );
- TInt numFrequencies = sizeof( frequencies ) / sizeof( TInt );
-
- CFMRadioRdsReceiverSimulator* self = static_cast<CFMRadioRdsReceiverSimulator*>(aSelfPtr);
- if( self )
- {
- switch( events[self->iEventIterator] )
- {
- case EFMRadioRdsEventSignalOn:
- {
- self->MrroRdsEventSignalChange( ETrue );
- break;
- }
-
- case EFMRadioRdsEventSignalOff:
- {
- self->MrroRdsEventSignalChange( EFalse );
- break;
- }
-
- case EFMRadioRdsEventPS:
- {
- self->MrroRdsDataPS( serviceNames[self->iPsIterator] );
- self->iPsIterator++;
- if( self->iPsIterator >= numServiceNames )
- {
- self->iPsIterator = 0;
- }
- break;
- }
- case EFMRadioRdsEventRadioText:
- {
- self->MrroRdsDataRT( radioTexts[self->iRadioTextIterator] );
- self->iRadioTextIterator++;
- if( self->iRadioTextIterator >= numRadioTexts )
- {
- self->iRadioTextIterator = 0;
- }
- break;
- }
- case EFMRadioRdsEventAFBegin:
- {
- if ( self->AutomaticSwitchingEnabled() )
- {
- self->MrroRdsSearchBeginAF();
- }
- break;
- }
-
- case EFMRadioRdsEventAFEnd:
- {
- if ( self->AutomaticSwitchingEnabled() )
- {
- // Simulate MrftoFrequencyChange method from MRadioFmTunerObserver
- if( self->iEngine )
- {
- self->iEngine->MrftoFrequencyChange( frequencies[self->iFrequencyIterator] );
- }
-
- self->MrroRdsSearchEndAF( KErrNone, frequencies[self->iFrequencyIterator] );
-
- self->iFrequencyIterator++;
- if( self->iFrequencyIterator >= numFrequencies )
- {
- self->iFrequencyIterator = 0;
- }
- }
- break;
- }
- case EFMRadioRdsEventRadioTextPlus:
- {
- self->MrroRdsDataRTplus( radioTextsPlusClasses[self->iRadioTextPlusIterator],
- radioTextsPlus[self->iRadioTextPlusIterator]);
- self->iRadioTextPlusIterator++;
- if( self->iRadioTextPlusIterator >= numRadioTextsPlus )
- {
- self->iRadioTextPlusIterator = 0;
- }
- break;
- }
- default:
- break;
- }
- self->iEventIterator++;
- if( self->iEventIterator >= numEvents )
- {
- self->iEventIterator = 0;
- }
- }
- return KErrNone;
- }