fmradio/fmradioengine/src/fmradiopropertyobserver.cpp
branchRCL_3
changeset 19 cce62ebc198e
parent 18 1a6714c53019
child 20 93c594350b9a
--- a/fmradio/fmradioengine/src/fmradiopropertyobserver.cpp	Thu Aug 19 09:55:21 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
-* Copyright (c) 2004-2007 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: Observer for FMRadio property values  
-*
-*/
-
-
-#include "fmradiopropertyobserver.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CFMRadioPropertyObserver::CFMRadioPropertyObserver(MFMRadioPropertyChangeObserver& aObserver, const TUid& aCategory, const TUint aKey, const TFMRadioPropertyType aPropertyType)
-    : CActive( CActive::EPriorityStandard ),
-    iObserver( aObserver ),
-    iCategory( aCategory ),
-    iKey( aKey ),
-    iPropertyType( aPropertyType )
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CFMRadioPropertyObserver::ConstructL()
-	{
-    switch (iPropertyType)
-        {
-        case EFMRadioPropertyInt:
-	        {
-	        break;
-	        }
-	    case EFMRadioPropertyByteArray:
-	        {
-	        iValueByteArray = HBufC8::NewL( RProperty::KMaxPropertySize );
-	        break;
-	        }
-	    case EFMRadioPropertyText:
-	        {
-	        // Max size in bytes, length is size / 2
-	        iValueText = HBufC::NewL( RProperty::KMaxPropertySize / 2 );
-	        break;
-	        }
-	    default:
-	        {
-	        break;
-	        }
-        }
-
-    User::LeaveIfError( iProperty.Attach( iCategory, iKey ) );
-    CActiveScheduler::Add( this );
-	}
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CFMRadioPropertyObserver* CFMRadioPropertyObserver::NewL( MFMRadioPropertyChangeObserver& aObserver,
-                                                          const TUid& aCategory,
-                                                          const TUint aKey,
-                                                          const TFMRadioPropertyType aPropertyType )
-    {
-    CFMRadioPropertyObserver* self = NewLC( aObserver,
-                                            aCategory,
-                                            aKey,
-                                            aPropertyType );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CFMRadioPropertyObserver* CFMRadioPropertyObserver::NewLC( MFMRadioPropertyChangeObserver& aObserver,
-														  const TUid& aCategory,
-														  const TUint aKey,
-														  const TFMRadioPropertyType aPropertyType )
-	{
-    CFMRadioPropertyObserver* self = new( ELeave )CFMRadioPropertyObserver( aObserver,
-    																   		aCategory,
-    																   		aKey,
-    																   		aPropertyType );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-	}
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CFMRadioPropertyObserver::~CFMRadioPropertyObserver()
-	{
-	Cancel();
-    iProperty.Close();
-    delete iValueByteArray;
-    delete iValueText;
-	}
-
-// ---------------------------------------------------------------------------
-// Subscribes to a property and reads the value, if not already active.
-// ---------------------------------------------------------------------------
-//
-void CFMRadioPropertyObserver::ActivateL()
-	{
-    if ( !IsActive() )
-        {
-        RunL();
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// CFMRadioPropertyObserver::RunL
-// -----------------------------------------------------------------------------
-//
-void CFMRadioPropertyObserver::RunL()
-	{	
-    iProperty.Subscribe( iStatus );
-    SetActive();
-    
-    TInt err(KErrNone);
-    
-    switch (iPropertyType)
-        {
-        case EFMRadioPropertyInt:
-	        {
-	        err = iProperty.Get( iValueInt );
-	        if (!err)
-            	{
-                iObserver.HandlePropertyChangeL( iCategory, iKey, iValueInt );
-             	}
-	        break;
-	        }
-		case EFMRadioPropertyByteArray:
-	        {
-	        TPtr8 ptr8( iValueByteArray->Des() );
-	        err = iProperty.Get( ptr8 );
-	        if (!err)
-            	{
-                iObserver.HandlePropertyChangeL( iCategory, iKey, *iValueByteArray );
-             	}
-	        break;		        
-	        }
-		case EFMRadioPropertyText:
-	        {
-	        TPtr ptr( iValueText->Des() );
-	        err = iProperty.Get( ptr );
-	        if (!err)
-            	{
-                iObserver.HandlePropertyChangeL( iCategory, iKey, *iValueText );
-             	}
-	        break;			        
-	        }
-	        
-	    default:
-	        {
-	        break;
-	        }
-        }
-    
-    if (err)
-    	{
-        iObserver.HandlePropertyChangeErrorL(iCategory, iKey, err);
-     	}
-	}
-
-// -----------------------------------------------------------------------------
-// Cancels an outstanding active request
-// -----------------------------------------------------------------------------
-//
-void CFMRadioPropertyObserver::DoCancel()
-	{
-    iProperty.Cancel();
-	}
-
-// -----------------------------------------------------------------------------
-// Getter for integer value
-// -----------------------------------------------------------------------------
-//	
-TInt CFMRadioPropertyObserver::ValueInt( TBool aUpdate )
-	{
-	if( aUpdate )
-	    {
-	    iProperty.Get( iValueInt );
-	    }
-	return iValueInt;
-	}
-	
-// -----------------------------------------------------------------------------
-// Getter for byte array value
-// -----------------------------------------------------------------------------
-//	
-const TDesC8& CFMRadioPropertyObserver::ValueDes8( TBool aUpdate )
-	{
-   if( aUpdate )
-        {
-    	TPtr8 ptr8( iValueByteArray->Des() );
-    	iProperty.Get( ptr8 );
-        }
-	return *iValueByteArray;
-	}
-	
-// -----------------------------------------------------------------------------
-// Getter for text value
-// -----------------------------------------------------------------------------
-//	
-const TDesC& CFMRadioPropertyObserver::ValueDes( TBool aUpdate )
-	{
-   if( aUpdate )
-        {
-    	TPtr ptr( iValueText->Des() );
-    	iProperty.Get( ptr );
-        }
-	return *iValueText;
-	}
-