phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp
changeset 37 ba76fc04e6c2
child 51 f39ed5e045e0
child 56 5bcb308bd24d
equal deleted inserted replaced
36:2eacb6118286 37:ba76fc04e6c2
       
     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