phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp
changeset 0 5f000ab63145
child 21 92ab7f8d0eab
child 61 41a7f70b3818
equal deleted inserted replaced
-1:000000000000 0:5f000ab63145
       
     1 /*
       
     2 * Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Accessory mode.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 //  INCLUDE FILES
       
    20 #include    "CTelDMAudioAccessoryListener.h"               // this
       
    21 #include	"CTelDMDebug.h"
       
    22 #include	<TelephonyAudioRouting.h>
       
    23 
       
    24 //  CONSTANTS
       
    25 
       
    26 // ============================ MEMBER FUNCTIONS ===============================
       
    27 
       
    28 // -----------------------------------------------------------------------------
       
    29 // CTelDMAudioAccessoryListener::NewL
       
    30 //
       
    31 // Two phase constructor
       
    32 // -----------------------------------------------------------------------------
       
    33 //
       
    34 CTelDMAudioAccessoryListener* CTelDMAudioAccessoryListener::NewL()
       
    35     {    
       
    36     CTelDMAudioAccessoryListener* self = new ( ELeave ) CTelDMAudioAccessoryListener( );
       
    37     CleanupStack::PushL( self );
       
    38     self->ConstructL();
       
    39     CleanupStack::Pop();
       
    40     return self;
       
    41     }
       
    42 
       
    43 // -----------------------------------------------------------------------------
       
    44 // CTelDMAudioAccessoryListener::~CTelDMAudioAccessoryListener
       
    45 //
       
    46 // -----------------------------------------------------------------------------
       
    47 //
       
    48 CTelDMAudioAccessoryListener::~CTelDMAudioAccessoryListener( )
       
    49     {
       
    50     FLOG( _L( "CTelDMAudioAccessoryListener::~CTelDMAudioAccessoryListener()" ) )
       
    51 	delete iAudioRouting;
       
    52 	iOutputArray.Reset();
       
    53 	iOutputArray.Close();
       
    54     }
       
    55     
       
    56 // -----------------------------------------------------------------------------
       
    57 // CTelDMAudioAccessoryListener::CTelDMAudioAccessoryListener
       
    58 //
       
    59 // -----------------------------------------------------------------------------
       
    60 //
       
    61 CTelDMAudioAccessoryListener::CTelDMAudioAccessoryListener( ):
       
    62 					iIsActiveAccessory ( EFalse )
       
    63     {
       
    64     }
       
    65 
       
    66 // -----------------------------------------------------------------------------
       
    67 // CTelDMAudioAccessoryListener::ConstructL
       
    68 //
       
    69 // -----------------------------------------------------------------------------
       
    70 //
       
    71 void CTelDMAudioAccessoryListener::ConstructL()
       
    72     {
       
    73     FLOG( _L( "CTelDMAudioAccessoryListener::ConstructL<" ) )
       
    74 	// Audio route handler 
       
    75     iAudioRouting = CTelephonyAudioRouting::NewL( *this );
       
    76     FLOG( _L( "CTelDMAudioAccessoryListener::ConstructL>" ) )
       
    77     }
       
    78 
       
    79 // -----------------------------------------------------------------------------
       
    80 // CTelDMAudioAccessoryListener::AvailableOutputsChanged
       
    81 // Receives event on accessory mode change.
       
    82 //
       
    83 // -----------------------------------------------------------------------------
       
    84 //
       
    85 void CTelDMAudioAccessoryListener::AvailableOutputsChanged( CTelephonyAudioRouting& 
       
    86 											aTelephonyAudioRouting )
       
    87 	{
       
    88 	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged<" ) )
       
    89 	iOutputArray.Reset();
       
    90         
       
    91     TArray<CTelephonyAudioRouting::TAudioOutput> availableOutputs 
       
    92     						= aTelephonyAudioRouting.AvailableOutputs();
       
    93     
       
    94     // Stores available output
       
    95     for ( TInt i=0; i< availableOutputs.Count();i++ )
       
    96         {
       
    97         iOutputArray.Append( availableOutputs[i] );
       
    98         }
       
    99 	
       
   100 	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged>" ) )	
       
   101 	}
       
   102 // -----------------------------------------------------------------------------
       
   103 // CTelDMAudioAccessoryListener::OutputChanged
       
   104 //
       
   105 // -----------------------------------------------------------------------------
       
   106 //	
       
   107 void CTelDMAudioAccessoryListener::OutputChanged( CTelephonyAudioRouting& 
       
   108 									aTelephonyAudioRouting)
       
   109 	{
       
   110 	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged<" ) )
       
   111 	CTelephonyAudioRouting::TAudioOutput output = aTelephonyAudioRouting.Output();
       
   112 	
       
   113 	    switch ( output )
       
   114         {
       
   115         // No active outputs available
       
   116         case CTelephonyAudioRouting::ENone:
       
   117 			iIsActiveAccessory = EFalse;
       
   118             break;
       
   119  		case CTelephonyAudioRouting::EHandset:
       
   120 			iIsActiveAccessory = EFalse;
       
   121  		    break;
       
   122 		case CTelephonyAudioRouting::ELoudspeaker:
       
   123 			iIsActiveAccessory = EFalse;
       
   124    		    break;
       
   125    		// Active outputs available
       
   126 		case CTelephonyAudioRouting::EWiredAudioAccessory:
       
   127 			iIsActiveAccessory = ETrue;
       
   128  		    break;
       
   129 		case CTelephonyAudioRouting::EBTAudioAccessory:
       
   130 			iIsActiveAccessory = ETrue;
       
   131  		    break;
       
   132       	case CTelephonyAudioRouting::ETTY:
       
   133 			iIsActiveAccessory = ETrue;
       
   134         	break; 		    
       
   135        	default:
       
   136             break;     
       
   137         }
       
   138     FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged =%d"), 
       
   139     														iIsActiveAccessory ))
       
   140 	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged>" ) )
       
   141 	}
       
   142 // -----------------------------------------------------------------------------
       
   143 // CTelDMAudioAccessoryListener::SetOutputComplete
       
   144 //
       
   145 // -----------------------------------------------------------------------------
       
   146 //	
       
   147 void CTelDMAudioAccessoryListener::SetOutputComplete( CTelephonyAudioRouting& 
       
   148 										/*aTelephonyAudioRouting*/, 
       
   149 										TInt /*aError*/)
       
   150 	{
       
   151 	
       
   152 	}
       
   153 
       
   154 // -----------------------------------------------------------------------------
       
   155 // CTelDMAudioAccessoryListener::IsAnyActiveAccessory
       
   156 //
       
   157 // -----------------------------------------------------------------------------
       
   158 //
       
   159 TBool CTelDMAudioAccessoryListener::IsAnyActiveAccessory()
       
   160 	{
       
   161 	FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::IsAnyActiveAccessory =%d"), 
       
   162     														iIsActiveAccessory ))
       
   163 	return iIsActiveAccessory;
       
   164 	}
       
   165 
       
   166 // -----------------------------------------------------------------------------
       
   167 // CTelDMAudioAccessoryListener::IsAccessoryAttached
       
   168 //
       
   169 // -----------------------------------------------------------------------------
       
   170 //
       
   171 TBool CTelDMAudioAccessoryListener::IsAccessoryAttached()
       
   172     {
       
   173     			
       
   174     TBool accessroryAttached = EFalse;
       
   175     
       
   176     for ( TInt i=0; i < iOutputArray.Count();i++ )
       
   177         {
       
   178         if ( iOutputArray[i] == CTelephonyAudioRouting::EWiredAudioAccessory ||
       
   179         	 iOutputArray[i] == CTelephonyAudioRouting::EBTAudioAccessory ||
       
   180         	 iOutputArray[i] == CTelephonyAudioRouting::ETTY )
       
   181             {
       
   182             accessroryAttached = ETrue;
       
   183             break;                
       
   184             } 
       
   185         }
       
   186     FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::IsAccessoryAttached =%d"), 
       
   187     														accessroryAttached ))
       
   188     return accessroryAttached;
       
   189     }
       
   190     
       
   191 // End of file