tsrc/telephonyaudioroutingstub/src/telephonyaudioroutingstub.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:01 +0100
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201032 Kit: 201035

/*
* 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:
*
*/


#include <telephonyaudiorouting.h>



CTelephonyAudioRouting::TAudioOutput CTelephonyAudioRouting::iCurrentOutput =
        CTelephonyAudioRouting::ENone;
CTelephonyAudioRouting::TAudioOutput CTelephonyAudioRouting::iPreviousOutput = 
        CTelephonyAudioRouting::ENone;


// ============================ MEMBER FUNCTIONS ===============================


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
CTelephonyAudioRouting* CTelephonyAudioRouting::NewL(
                            MTelephonyAudioRoutingObserver& aObserver)
	{
    CTelephonyAudioRouting* self = 
                        new (ELeave) CTelephonyAudioRouting( aObserver );
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop();
    return self;
	}


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
CTelephonyAudioRouting::~CTelephonyAudioRouting()
    {
    iAvailableOutputs.Reset();
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//    
const TArray<CTelephonyAudioRouting::TAudioOutput>& 
                                CTelephonyAudioRouting::AvailableOutputs()
    {
    return iAvailableOutputs.Array();
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
CTelephonyAudioRouting::TAudioOutput CTelephonyAudioRouting::Output()
    {
    return iCurrentOutput;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
void CTelephonyAudioRouting::SetOutputL( TAudioOutput aOutput )
    {
    __ASSERT_ALWAYS( aOutput != ENone, User::Leave( KErrArgument ) );
    
    if ( iForceFailWithCode != KErrNone )
        {
        TInt leaveValue = iForceFailWithCode;
        iForceFailWithCode = KErrNone;
        User::Leave( leaveValue );
        }
        
    iPreviousOutput = iCurrentOutput;
    iCurrentOutput = aOutput;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
CTelephonyAudioRouting::TAudioOutput CTelephonyAudioRouting::PreviousOutput()
    {
    return iPreviousOutput;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
TInt CTelephonyAudioRouting::SetShowNote( TBool aMode )
    {
    iShowNoteMode = aMode;
    return KErrNone;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
TInt CTelephonyAudioRouting::GetShowNote( TBool& aMode )
    {
    aMode = iShowNoteMode;
    return KErrNone;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
CTelephonyAudioRouting::CTelephonyAudioRouting( 
                                    MTelephonyAudioRoutingObserver& aObserver )
    : iObserver( aObserver )                               
    {
    iForceFailWithCode = KErrNone;
    iCurrentOutput = EHandset;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//
void CTelephonyAudioRouting::ConstructL()
    {
    
    }