phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/devsoundstub.cpp
changeset 78 baacf668fe89
equal deleted inserted replaced
76:cfea66083b62 78:baacf668fe89
       
     1 
       
     2 #include "devsoundstub.h"
       
     3 
       
     4 RPointerArray< CTestFunctionCallData > CMdaAudioPlayerUtility::iStaticTestData;
       
     5     
       
     6 RPointerArray< CTestFunctionCallData > CMdaAudioToneUtility::iStaticTestData;
       
     7     
       
     8 bool CMdaAudioPlayerUtility::iDelayedAudioLoading = EFalse;
       
     9     
       
    10 bool CMdaAudioPlayerUtility::iErrorInAudioLoading = EFalse;
       
    11     
       
    12 bool CMdaAudioToneUtility::iDelayedAudioLoading = EFalse;
       
    13     
       
    14 bool CMdaAudioToneUtility::iErrorInAudioLoading = EFalse;
       
    15     
       
    16 const TTimeIntervalMicroSeconds32 KNormalLoadingTime = TTimeIntervalMicroSeconds32( 1500000 );
       
    17 const TTimeIntervalMicroSeconds32 KDelayedLoadingTime = TTimeIntervalMicroSeconds32( 4000000 );
       
    18 
       
    19 const static TInt KGeneratedError = KErrNotFound;
       
    20 
       
    21 
       
    22 // -----------------------------------------------------------------------------
       
    23 // CMdaServer::NewL()
       
    24 // -----------------------------------------------------------------------------
       
    25 //
       
    26 CMdaServer* CMdaServer::NewL()
       
    27     {
       
    28     return new( ELeave )CMdaServer;
       
    29     }
       
    30 
       
    31 // -----------------------------------------------------------------------------
       
    32 // CMdaServer::~CMdaServer()
       
    33 // -----------------------------------------------------------------------------
       
    34 //
       
    35 CMdaServer::~CMdaServer()
       
    36     {
       
    37     }
       
    38 
       
    39 // -----------------------------------------------------------------------------
       
    40 // CTestFunctionCallData::NewL
       
    41 // -----------------------------------------------------------------------------
       
    42 //
       
    43 CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, HBufC* aString, TInt aInt1, TInt aInt2 )
       
    44     {
       
    45     return new( ELeave )CTestFunctionCallData( aFunctionIndex, aString, aInt1, aInt2, TTimeIntervalMicroSeconds( 0 ) );
       
    46     }
       
    47 
       
    48 // -----------------------------------------------------------------------------
       
    49 // CTestFunctionCallData::NewL
       
    50 // -----------------------------------------------------------------------------
       
    51 //
       
    52 CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TInt aInt1, TInt aInt2 )
       
    53     {
       
    54     return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, aInt1, aInt2, TTimeIntervalMicroSeconds( 0 ) );
       
    55     }
       
    56 
       
    57 // -----------------------------------------------------------------------------
       
    58 // CTestFunctionCallData::NewL
       
    59 // -----------------------------------------------------------------------------
       
    60 //
       
    61 CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TInt aInt1 )
       
    62     {
       
    63     return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, aInt1, 0, TTimeIntervalMicroSeconds( 0 ) );
       
    64     }
       
    65 
       
    66 // -----------------------------------------------------------------------------
       
    67 // CTestFunctionCallData::NewL
       
    68 // -----------------------------------------------------------------------------
       
    69 //
       
    70 CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TInt aInt1, TTimeIntervalMicroSeconds aSeconds )
       
    71     {
       
    72     return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, aInt1, 0, aSeconds );
       
    73     }
       
    74 
       
    75 // -----------------------------------------------------------------------------
       
    76 // CTestFunctionCallData::NewL
       
    77 // -----------------------------------------------------------------------------
       
    78 //
       
    79 CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TTimeIntervalMicroSeconds aSeconds )
       
    80     {
       
    81     return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, 0, 0, aSeconds );
       
    82     }
       
    83 
       
    84 // -----------------------------------------------------------------------------
       
    85 // CTestFunctionCallData::NewL
       
    86 // -----------------------------------------------------------------------------
       
    87 //
       
    88 CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, HBufC8* aString )
       
    89     {
       
    90     return new( ELeave )CTestFunctionCallData( aFunctionIndex, aString );
       
    91     }
       
    92 
       
    93 // -----------------------------------------------------------------------------
       
    94 // CTestFunctionCallData::~CTestFunctionCallData()
       
    95 // -----------------------------------------------------------------------------
       
    96 //
       
    97 CTestFunctionCallData::~CTestFunctionCallData()
       
    98     {
       
    99     delete iP1;
       
   100     delete iP5;
       
   101     }
       
   102 
       
   103 // -----------------------------------------------------------------------------
       
   104 // CTestFunctionCallData::CTestFunctionCallData
       
   105 // -----------------------------------------------------------------------------
       
   106 //
       
   107 CTestFunctionCallData::CTestFunctionCallData( TInt aFunctionIndex, HBufC* aPtr1, TInt aInt1, TInt aInt2, TTimeIntervalMicroSeconds aSeconds ) :
       
   108     iFunctionIndex( aFunctionIndex ),
       
   109     iP1( aPtr1 ),
       
   110     iP2( aInt1 ),
       
   111     iP3( aInt2 ),
       
   112     iP4( aSeconds )
       
   113     {
       
   114     }
       
   115 
       
   116 // -----------------------------------------------------------------------------
       
   117 // CTestFunctionCallData::CTestFunctionCallData
       
   118 // -----------------------------------------------------------------------------
       
   119 //
       
   120 CTestFunctionCallData::CTestFunctionCallData( TInt aFunctionIndex, HBufC8* aString ) : iFunctionIndex( aFunctionIndex ),
       
   121     iP5( aString )
       
   122     {
       
   123     }
       
   124 
       
   125 // -----------------------------------------------------------------------------
       
   126 // CTestFunctionCallData::DesC1()
       
   127 // -----------------------------------------------------------------------------
       
   128 //
       
   129 HBufC* CTestFunctionCallData::DesC1()
       
   130     {
       
   131     return iP1;
       
   132     }
       
   133 
       
   134 // -----------------------------------------------------------------------------
       
   135 // CTestFunctionCallData::DesC2()
       
   136 // -----------------------------------------------------------------------------
       
   137 //
       
   138 HBufC8* CTestFunctionCallData::DesC2()
       
   139     {
       
   140     return iP5;
       
   141     }
       
   142 
       
   143 // -----------------------------------------------------------------------------
       
   144 // CTestFunctionCallData::Int1()
       
   145 // -----------------------------------------------------------------------------
       
   146 //
       
   147 TInt CTestFunctionCallData::Int1()
       
   148     {
       
   149     return iP2;
       
   150     }
       
   151 
       
   152 // -----------------------------------------------------------------------------
       
   153 // CTestFunctionCallData::Int2()
       
   154 // -----------------------------------------------------------------------------
       
   155 //
       
   156 TInt CTestFunctionCallData::Int2()
       
   157     {
       
   158     return iP3;
       
   159     }
       
   160 
       
   161 // -----------------------------------------------------------------------------
       
   162 // CTestFunctionCallData::Seconds()
       
   163 // -----------------------------------------------------------------------------
       
   164 //
       
   165 TTimeIntervalMicroSeconds CTestFunctionCallData::Seconds()
       
   166     {
       
   167     return iP4;
       
   168     }
       
   169 
       
   170 // -----------------------------------------------------------------------------
       
   171 // CTestFunctionCallData::FunctionIndex()
       
   172 // -----------------------------------------------------------------------------
       
   173 //
       
   174 TInt CTestFunctionCallData::FunctionIndex()
       
   175     {
       
   176     return iFunctionIndex;
       
   177     }
       
   178 
       
   179 // -----------------------------------------------------------------------------
       
   180 // CMdaAudioPlayerUtility::NewFilePlayerL
       
   181 // -----------------------------------------------------------------------------
       
   182 //
       
   183 TBool CTestFunctionCallData::operator ==( CTestFunctionCallData& aData )
       
   184     {
       
   185     TBool equals( ETrue );
       
   186     
       
   187     if ( aData.FunctionIndex() != iFunctionIndex )
       
   188         {
       
   189         equals = EFalse;
       
   190         }
       
   191     else if ( iP1 && !aData.DesC1() )
       
   192         {
       
   193          equals = EFalse;
       
   194         } 
       
   195     else if ( !iP1 && aData.DesC1() )
       
   196         {
       
   197         equals = EFalse;
       
   198         }
       
   199     else if ( iP1 && aData.DesC1() && iP1->Des().Compare( *aData.DesC1() ) )
       
   200         {
       
   201         equals = EFalse;
       
   202         }
       
   203     else if ( iP5 && !aData.DesC2() )
       
   204         {
       
   205         equals = EFalse;
       
   206         }
       
   207     else if (!iP5 && aData.DesC2() )
       
   208         {
       
   209         equals = EFalse;
       
   210         }
       
   211     else if ( iP5 && aData.DesC2() && iP5->Des().Compare( *aData.DesC2() ) )
       
   212         {
       
   213         equals = EFalse;
       
   214         }
       
   215     else if ( iP2 != aData.Int1() )
       
   216         {
       
   217         equals = EFalse;
       
   218         }
       
   219     else if ( iP3 != aData.Int2() )
       
   220         {
       
   221         equals = EFalse;
       
   222         }
       
   223     else if ( iP4 != aData.Seconds() )
       
   224         {
       
   225         equals = EFalse;
       
   226         }
       
   227     return equals;
       
   228     }
       
   229 
       
   230 // -----------------------------------------------------------------------------
       
   231 // CMdaAudioPlayerUtility::NewFilePlayerL
       
   232 // -----------------------------------------------------------------------------
       
   233 //
       
   234 CMdaAudioPlayerUtility* CMdaAudioPlayerUtility::NewFilePlayerL(const TDesC& aFileName,
       
   235     MMdaAudioPlayerCallback& aCallback,
       
   236     TInt aPriority,
       
   237     TInt aPref,
       
   238     CMdaServer* aServer )
       
   239     {
       
   240     HBufC* desc = HBufC::NewL( aFileName.Length() );
       
   241     *desc = aFileName;
       
   242     CleanupStack::PushL( desc );
       
   243     CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ENewFilePlayerL, desc, aPriority, aPref );
       
   244     CleanupStack::Pop( desc );
       
   245     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   246     CMdaAudioPlayerUtility* self = new( ELeave )CMdaAudioPlayerUtility(  aCallback, aPriority, aPref, aServer );
       
   247     self->ConstructL( aFileName );
       
   248     return self;
       
   249     }
       
   250     
       
   251 // -----------------------------------------------------------------------------
       
   252 // CMdaAudioPlayerUtility::NewL
       
   253 // -----------------------------------------------------------------------------
       
   254 //
       
   255 CMdaAudioPlayerUtility* CMdaAudioPlayerUtility::NewL( MMdaAudioPlayerCallback& aCallback,
       
   256     TInt aPriority,
       
   257     TInt aPref )
       
   258     {
       
   259     CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ENewL, aPriority, aPref );
       
   260     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   261     CMdaAudioPlayerUtility* self = new( ELeave )CMdaAudioPlayerUtility(  aCallback, aPriority, aPref, NULL );
       
   262     return self;
       
   263     }
       
   264 
       
   265 // -----------------------------------------------------------------------------
       
   266 // CMdaAudioPlayerUtility::CMdaAudioPlayerUtility
       
   267 // -----------------------------------------------------------------------------
       
   268 //
       
   269 CMdaAudioPlayerUtility::CMdaAudioPlayerUtility( MMdaAudioPlayerCallback& aObserver, TInt aPriority, TInt aPref, CMdaServer* aServer ) :
       
   270     CActive( EPriorityStandard ),
       
   271     iObserver( aObserver ),
       
   272     iMaxVolume( 10 ),
       
   273     iVolume( 5 ),
       
   274     iPriority( aPriority ),
       
   275     iPref( aPref ),
       
   276     iServer( aServer )
       
   277     {
       
   278     CActiveScheduler::Add( this );
       
   279     }
       
   280 
       
   281 // -----------------------------------------------------------------------------
       
   282 // CMdaAudioPlayerUtility::~CMdaAudioPlayerUtility()
       
   283 // -----------------------------------------------------------------------------
       
   284 //
       
   285 CMdaAudioPlayerUtility::~CMdaAudioPlayerUtility()
       
   286     {
       
   287     //iTimer.Cancel();
       
   288     Cancel();
       
   289     iTimer.Close();
       
   290     delete iFile;
       
   291     delete iFile8;
       
   292     }
       
   293 
       
   294 // -----------------------------------------------------------------------------
       
   295 // CMdaAudioPlayerUtility::SetVolume
       
   296 // -----------------------------------------------------------------------------
       
   297 //
       
   298 TInt CMdaAudioPlayerUtility::SetVolume(TInt aVolume)
       
   299     {
       
   300     CTestFunctionCallData* data = NULL;
       
   301     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ESetVolume, aVolume ) );
       
   302     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   303     return KErrNone;
       
   304     }
       
   305 
       
   306 // -----------------------------------------------------------------------------
       
   307 // CMdaAudioPlayerUtility::SetRepeats
       
   308 // -----------------------------------------------------------------------------
       
   309 //
       
   310 void CMdaAudioPlayerUtility::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence )
       
   311     {
       
   312     CTestFunctionCallData* data = NULL;
       
   313     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ESetRepeats, aRepeatNumberOfTimes, aTrailingSilence ) );
       
   314     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   315     }
       
   316 
       
   317 // -----------------------------------------------------------------------------
       
   318 // CMdaAudioPlayerUtility::SetVolumeRamp
       
   319 // -----------------------------------------------------------------------------
       
   320 //
       
   321 void CMdaAudioPlayerUtility::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
       
   322     {
       
   323     CTestFunctionCallData* data = NULL;
       
   324     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ESetVolumeRamp, aRampDuration ) );
       
   325     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   326     }
       
   327 
       
   328 // -----------------------------------------------------------------------------
       
   329 // CMdaAudioPlayerUtility::MaxVolume()
       
   330 // -----------------------------------------------------------------------------
       
   331 //
       
   332 TInt CMdaAudioPlayerUtility::MaxVolume()
       
   333     {
       
   334     return iMaxVolume;
       
   335     }
       
   336 
       
   337 // -----------------------------------------------------------------------------
       
   338 // CMdaAudioPlayerUtility::GetVolume
       
   339 // -----------------------------------------------------------------------------
       
   340 //
       
   341 TInt CMdaAudioPlayerUtility::GetVolume(TInt& aVolume)
       
   342     {
       
   343     aVolume = iVolume;
       
   344     return KErrNone;
       
   345     }
       
   346 
       
   347 // -----------------------------------------------------------------------------
       
   348 // CMdaAudioPlayerUtility::OpenDesL
       
   349 // -----------------------------------------------------------------------------
       
   350 //
       
   351 void CMdaAudioPlayerUtility::OpenDesL(const TDesC8& aDescriptor)
       
   352     {
       
   353     HBufC8* desc = HBufC8::NewL( aDescriptor.Length() );
       
   354     *desc = aDescriptor;
       
   355     CleanupStack::PushL( desc );
       
   356     CTestFunctionCallData* data = CTestFunctionCallData::NewL( 
       
   357             CMdaAudioPlayerUtility::EOpenDesL, desc );
       
   358     CleanupStack::Pop( desc );
       
   359     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   360     ConstructL( aDescriptor );
       
   361     }
       
   362 
       
   363 // -----------------------------------------------------------------------------
       
   364 // CMdaAudioPlayerUtility::DoCancel()
       
   365 // -----------------------------------------------------------------------------
       
   366 //
       
   367 void CMdaAudioPlayerUtility::DoCancel()
       
   368     {
       
   369     iTimer.Cancel();
       
   370     }
       
   371 
       
   372 // -----------------------------------------------------------------------------
       
   373 // CMdaAudioPlayerUtility::RunL()
       
   374 // -----------------------------------------------------------------------------
       
   375 //
       
   376 void CMdaAudioPlayerUtility::RunL()
       
   377     {
       
   378         
       
   379     TTimeIntervalMicroSeconds s( 0 );
       
   380     if ( CMdaAudioPlayerUtility::iErrorInAudioLoading )
       
   381         {
       
   382         iObserver.MapcInitComplete( KGeneratedError, s );
       
   383         }
       
   384     else
       
   385         {
       
   386         iObserver.MapcInitComplete( KErrNone, s );
       
   387         }
       
   388     }
       
   389 
       
   390 // -----------------------------------------------------------------------------
       
   391 // CMdaAudioPlayerUtility::DelayAudioLoading()
       
   392 // -----------------------------------------------------------------------------
       
   393 //
       
   394 void CMdaAudioPlayerUtility::DelayAudioLoading()
       
   395     {
       
   396     CMdaAudioPlayerUtility::iDelayedAudioLoading = ETrue;
       
   397     }
       
   398 
       
   399 // -----------------------------------------------------------------------------
       
   400 // CMdaAudioPlayerUtility::SimulateErrorInAudioLoading()
       
   401 // -----------------------------------------------------------------------------
       
   402 //
       
   403 void CMdaAudioPlayerUtility::SimulateErrorInAudioLoading()
       
   404     {
       
   405     CMdaAudioPlayerUtility::iErrorInAudioLoading = ETrue;
       
   406     }
       
   407 
       
   408 // -----------------------------------------------------------------------------
       
   409 // CMdaAudioPlayerUtility::TestData()
       
   410 // -----------------------------------------------------------------------------
       
   411 //
       
   412 RPointerArray< CTestFunctionCallData >& CMdaAudioPlayerUtility::TestData()
       
   413     {
       
   414     return CMdaAudioPlayerUtility::iStaticTestData;
       
   415     }
       
   416 
       
   417 // -----------------------------------------------------------------------------
       
   418 // CMdaAudioPlayerUtility::ResetTestData()
       
   419 // -----------------------------------------------------------------------------
       
   420 //
       
   421 void CMdaAudioPlayerUtility::ResetTestData()
       
   422     {
       
   423     CMdaAudioPlayerUtility::iStaticTestData.ResetAndDestroy();
       
   424     CMdaAudioPlayerUtility::iDelayedAudioLoading = EFalse;
       
   425     CMdaAudioPlayerUtility::iErrorInAudioLoading = EFalse;
       
   426     }
       
   427 
       
   428 // -----------------------------------------------------------------------------
       
   429 // CMdaAudioPlayerUtility::ConstructL()
       
   430 // -----------------------------------------------------------------------------
       
   431 //
       
   432  void CMdaAudioPlayerUtility::ConstructL( const TDesC& aFileName )
       
   433     {
       
   434     iTimer.CreateLocal();
       
   435     
       
   436     if ( CMdaAudioPlayerUtility::iDelayedAudioLoading )
       
   437         {
       
   438         iTimer.After( iStatus, KDelayedLoadingTime );
       
   439         }
       
   440     else
       
   441         {
       
   442         iTimer.After( iStatus, KNormalLoadingTime );
       
   443         }
       
   444     SetActive();
       
   445     
       
   446     delete iFile;
       
   447     iFile = NULL;   
       
   448     
       
   449     iFile = HBufC::NewL( aFileName.Length() );
       
   450     *iFile = aFileName;
       
   451     }
       
   452     
       
   453 void CMdaAudioPlayerUtility::ConstructL( const TDesC8& aFileName )
       
   454     {
       
   455     iTimer.CreateLocal();
       
   456     if ( CMdaAudioPlayerUtility::iDelayedAudioLoading )
       
   457         {
       
   458         iTimer.After( iStatus, KDelayedLoadingTime );
       
   459         }
       
   460     else
       
   461         {
       
   462         iTimer.After( iStatus, KNormalLoadingTime );
       
   463         }
       
   464     SetActive();
       
   465     
       
   466     delete iFile8;
       
   467     iFile8 = NULL;
       
   468     
       
   469     iFile8 = HBufC8::NewL( aFileName.Length() );
       
   470     *iFile8 = aFileName;
       
   471     }
       
   472 
       
   473 // -----------------------------------------------------------------------------
       
   474 // CMdaAudioPlayerUtility::Play()
       
   475 // -----------------------------------------------------------------------------
       
   476 //
       
   477 void CMdaAudioPlayerUtility::Play()
       
   478     {
       
   479     CTestFunctionCallData* data( NULL );
       
   480     if ( iFile )
       
   481         {
       
   482         TRAP_IGNORE(  data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EPlay, iFile, 0, 0 ) );
       
   483         iFile = NULL;
       
   484         }
       
   485     else if ( iFile8 )
       
   486         {
       
   487         TRAP_IGNORE(  data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EPlay, iFile8 ) );
       
   488         iFile8 = NULL;
       
   489         }
       
   490     else
       
   491         {
       
   492         TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EPlay ) );
       
   493         } 
       
   494     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   495     }
       
   496 
       
   497 // -----------------------------------------------------------------------------
       
   498 // CMdaAudioPlayerUtility::Stop()
       
   499 // -----------------------------------------------------------------------------
       
   500 //
       
   501 void CMdaAudioPlayerUtility::Stop()
       
   502     {
       
   503     CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EStop );
       
   504     CMdaAudioPlayerUtility::iStaticTestData.Append( data );
       
   505     }
       
   506    
       
   507 
       
   508 // -----------------------------------------------------------------------------
       
   509 // CMdaAudioPlayerUtility::Close()
       
   510 // -----------------------------------------------------------------------------
       
   511 //
       
   512 void CMdaAudioPlayerUtility::Close()
       
   513     {
       
   514 
       
   515     }
       
   516 
       
   517 
       
   518 
       
   519 //***************************************
       
   520 /*
       
   521 **
       
   522 **
       
   523 **  CMdaAudioToneUtility
       
   524 **
       
   525 **
       
   526 **
       
   527 *****************************************/
       
   528 
       
   529 
       
   530 // -----------------------------------------------------------------------------
       
   531 // CMdaAudioToneUtility::NewL
       
   532 // -----------------------------------------------------------------------------
       
   533 //
       
   534 /*
       
   535 CMdaAudioToneUtility* CMdaAudioToneUtility::NewL(MMdaAudioToneObserver& aObserver, CMdaServer* aServer )
       
   536     {
       
   537     CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ENewL );
       
   538     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   539     CMdaAudioToneUtility* self = new( ELeave )CMdaAudioToneUtility( aObserver, 0, 0, aServer );
       
   540     return self;
       
   541     }
       
   542 */
       
   543 // -----------------------------------------------------------------------------
       
   544 // CMdaAudioToneUtility::NewL
       
   545 // -----------------------------------------------------------------------------
       
   546 //
       
   547 CMdaAudioToneUtility* CMdaAudioToneUtility::NewL(MMdaAudioToneObserver& aObserver, CMdaServer* aServer,
       
   548                                                TInt aPriority, 
       
   549                                                TInt aPref )
       
   550     {
       
   551     CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ENewL, aPriority, aPref );
       
   552     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   553     CMdaAudioToneUtility* self = new( ELeave )CMdaAudioToneUtility( aObserver, aPriority, aPref, aServer );
       
   554     return self;
       
   555     }
       
   556     
       
   557 // -----------------------------------------------------------------------------
       
   558 // CMdaAudioToneUtility::CMdaAudioToneUtility
       
   559 // -----------------------------------------------------------------------------
       
   560 //
       
   561 CMdaAudioToneUtility::CMdaAudioToneUtility( MMdaAudioToneObserver& aObserver, TInt aPriority, TInt aPref, CMdaServer* aServer ) :
       
   562     CActive( EPriorityStandard ),
       
   563     iObserver( aObserver ),
       
   564     iPriority( aPriority ),
       
   565     iPref( aPref ),
       
   566     iServer( aServer )
       
   567     {
       
   568     CActiveScheduler::Add( this );
       
   569     }
       
   570 
       
   571 // -----------------------------------------------------------------------------
       
   572 // CMdaAudioToneUtility::~CMdaAudioToneUtility()
       
   573 // -----------------------------------------------------------------------------
       
   574 //
       
   575 CMdaAudioToneUtility::~CMdaAudioToneUtility()
       
   576     {
       
   577     //iTimer.Cancel();
       
   578     Cancel();
       
   579     iTimer.Close();
       
   580     delete iFile8;
       
   581     }
       
   582 
       
   583 // -----------------------------------------------------------------------------
       
   584 // CMdaAudioToneUtility::MaxVolume()
       
   585 // -----------------------------------------------------------------------------
       
   586 //
       
   587 TInt CMdaAudioToneUtility::MaxVolume()
       
   588     {
       
   589     return iMaxVolume;
       
   590     }
       
   591 
       
   592 // -----------------------------------------------------------------------------
       
   593 // CMdaAudioToneUtility::Volume()
       
   594 // -----------------------------------------------------------------------------
       
   595 //
       
   596 TInt CMdaAudioToneUtility::Volume()
       
   597     {
       
   598     return iVolume;
       
   599     }
       
   600 
       
   601 // -----------------------------------------------------------------------------
       
   602 // CMdaAudioToneUtility::SetVolume
       
   603 // -----------------------------------------------------------------------------
       
   604 //
       
   605 void CMdaAudioToneUtility::SetVolume( TInt aVolume )
       
   606     {
       
   607     iVolume = aVolume;
       
   608     CTestFunctionCallData* data = NULL;
       
   609     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ESetVolume, aVolume ) );
       
   610     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   611     }
       
   612 
       
   613 // -----------------------------------------------------------------------------
       
   614 // CMdaAudioToneUtility::SetRepeats
       
   615 // -----------------------------------------------------------------------------
       
   616 //
       
   617 void CMdaAudioToneUtility::SetRepeats( TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence )
       
   618     {
       
   619     CTestFunctionCallData* data = NULL;
       
   620     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ESetRepeats, aRepeatNumberOfTimes, aTrailingSilence ) );
       
   621     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   622     }
       
   623 
       
   624 // -----------------------------------------------------------------------------
       
   625 // CMdaAudioToneUtility::SetVolumeRamp
       
   626 // -----------------------------------------------------------------------------
       
   627 //
       
   628 void CMdaAudioToneUtility::SetVolumeRamp( const TTimeIntervalMicroSeconds& aRampDuration )
       
   629     {
       
   630     CTestFunctionCallData* data = NULL;
       
   631     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ESetVolumeRamp, aRampDuration ) );
       
   632     CMdaAudioToneUtility::iStaticTestData.Append( data );   
       
   633     }
       
   634 
       
   635 // -----------------------------------------------------------------------------
       
   636 // CMdaAudioToneUtility::FixedSequenceCount()
       
   637 // -----------------------------------------------------------------------------
       
   638 //
       
   639 TInt CMdaAudioToneUtility::FixedSequenceCount()
       
   640     {
       
   641     return 0;
       
   642     }
       
   643 
       
   644 // -----------------------------------------------------------------------------
       
   645 // CMdaAudioToneUtility::FixedSequenceName
       
   646 // -----------------------------------------------------------------------------
       
   647 //
       
   648 const TDesC& CMdaAudioToneUtility::FixedSequenceName( TInt /*aSequenceNumber*/ )
       
   649     {
       
   650     return KNullDesC();
       
   651     }
       
   652 
       
   653 // -----------------------------------------------------------------------------
       
   654 // CMdaAudioToneUtility::PrepareToPlayTone
       
   655 // -----------------------------------------------------------------------------
       
   656 //
       
   657 void CMdaAudioToneUtility::PrepareToPlayTone( TInt /*aFrequency*/, const TTimeIntervalMicroSeconds& /*aDuration*/ )
       
   658     {
       
   659     }
       
   660 
       
   661 // -----------------------------------------------------------------------------
       
   662 // CMdaAudioToneUtility::PrepareToPlayDTMFString
       
   663 // -----------------------------------------------------------------------------
       
   664 //
       
   665 void CMdaAudioToneUtility::PrepareToPlayDTMFString( const TDesC& /*aDTMF*/ )
       
   666     {
       
   667     }
       
   668 
       
   669 // -----------------------------------------------------------------------------
       
   670 // CMdaAudioToneUtility::PrepareToPlayDesSequence
       
   671 // -----------------------------------------------------------------------------
       
   672 //
       
   673 void CMdaAudioToneUtility::PrepareToPlayDesSequence( const TDesC8& aSequence )
       
   674     {
       
   675     HBufC8* des( NULL );
       
   676     TRAP_IGNORE( des = HBufC8::NewL( aSequence.Length() ) );
       
   677     TRAP_IGNORE( iFile8 = HBufC8::NewL( aSequence.Length() ) );
       
   678         
       
   679     CTestFunctionCallData* data( NULL );
       
   680     if ( des )
       
   681         {
       
   682         *des = aSequence;
       
   683         } 
       
   684 
       
   685     if ( iFile8 )
       
   686         {
       
   687         *iFile8 = aSequence;
       
   688         }
       
   689 
       
   690     TRAP_IGNORE( data = CTestFunctionCallData::NewL( 
       
   691             CMdaAudioToneUtility::EPrepareToPlayDesSequence, des ) );
       
   692     CMdaAudioToneUtility::iStaticTestData.Append( data );   
       
   693     }
       
   694 
       
   695 // -----------------------------------------------------------------------------
       
   696 // CMdaAudioToneUtility::PrepareToPlayFileSequence
       
   697 // -----------------------------------------------------------------------------
       
   698 //
       
   699 void CMdaAudioToneUtility::PrepareToPlayFileSequence( const TDesC& aFileName )
       
   700     {
       
   701     HBufC* desc = HBufC::NewL( aFileName.Length() );
       
   702     *desc = aFileName;
       
   703     CleanupStack::PushL( desc );
       
   704     CTestFunctionCallData* data( NULL );
       
   705     data = CTestFunctionCallData::NewL(
       
   706             CMdaAudioToneUtility::EPrepareToPlayFileSequence, desc, 0, 0 );
       
   707     CleanupStack::Pop( desc );
       
   708     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   709     ConstructL();
       
   710     }
       
   711 
       
   712 // -----------------------------------------------------------------------------
       
   713 // CMdaAudioToneUtility::PrepareToPlayFixedSequence
       
   714 // -----------------------------------------------------------------------------
       
   715 //
       
   716 void CMdaAudioToneUtility::PrepareToPlayFixedSequence( TInt /*aSequenceNumber*/ )
       
   717     {
       
   718     }
       
   719 
       
   720 // -----------------------------------------------------------------------------
       
   721 // CMdaAudioToneUtility::CancelPrepare()
       
   722 // -----------------------------------------------------------------------------
       
   723 //
       
   724 void CMdaAudioToneUtility::CancelPrepare()
       
   725     {
       
   726     CTestFunctionCallData* data = NULL;
       
   727     TRAP_IGNORE( data = CTestFunctionCallData::NewL( 
       
   728             CMdaAudioToneUtility::ECancelPrepare ) );
       
   729     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   730     
       
   731     }
       
   732 
       
   733 // -----------------------------------------------------------------------------
       
   734 // CMdaAudioToneUtility::Play()
       
   735 // -----------------------------------------------------------------------------
       
   736 //
       
   737 void CMdaAudioToneUtility::Play()
       
   738     {
       
   739     CTestFunctionCallData* data( NULL );
       
   740     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::EPlay ) );
       
   741     CMdaAudioToneUtility::iStaticTestData.Append( data );   
       
   742     }
       
   743 
       
   744 // -----------------------------------------------------------------------------
       
   745 // CMdaAudioToneUtility::State()
       
   746 // -----------------------------------------------------------------------------
       
   747 //
       
   748 TMdaAudioToneUtilityState CMdaAudioToneUtility::State()
       
   749      {
       
   750     TMdaAudioToneUtilityState retVal;
       
   751      if ( IsActive() )
       
   752          {
       
   753          retVal = EMdaAudioToneUtilityNotReady;
       
   754          }
       
   755      else
       
   756          {
       
   757          retVal = EMdaAudioToneUtilityPlaying;
       
   758          }
       
   759      return retVal;
       
   760      }
       
   761 
       
   762 // -----------------------------------------------------------------------------
       
   763 // CMdaAudioToneUtility::CancelPlay()
       
   764 // -----------------------------------------------------------------------------
       
   765 //
       
   766 void CMdaAudioToneUtility::CancelPlay()
       
   767     {
       
   768     CTestFunctionCallData* data = NULL;
       
   769     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ECancelPlay ) );
       
   770     CMdaAudioToneUtility::iStaticTestData.Append( data );
       
   771     }
       
   772 // -----------------------------------------------------------------------------
       
   773 // CMdaAudioToneUtility::DelayAudioLoading()
       
   774 // -----------------------------------------------------------------------------
       
   775 //
       
   776 void CMdaAudioToneUtility::DelayAudioLoading()
       
   777     {
       
   778     CMdaAudioToneUtility::iDelayedAudioLoading = ETrue;
       
   779     }
       
   780  
       
   781 // -----------------------------------------------------------------------------
       
   782 // CMdaAudioToneUtility::SimulateErrorInAudioLoading()
       
   783 // -----------------------------------------------------------------------------
       
   784 //
       
   785 void CMdaAudioToneUtility::SimulateErrorInAudioLoading()
       
   786     {
       
   787     CMdaAudioToneUtility::iErrorInAudioLoading = ETrue;
       
   788     }
       
   789 
       
   790 // -----------------------------------------------------------------------------
       
   791 // CMdaAudioToneUtility::TestData()
       
   792 // -----------------------------------------------------------------------------
       
   793 //
       
   794 RPointerArray< CTestFunctionCallData >& CMdaAudioToneUtility::TestData()
       
   795     {
       
   796     return CMdaAudioToneUtility::iStaticTestData;
       
   797     }
       
   798 
       
   799 // -----------------------------------------------------------------------------
       
   800 // CMdaAudioToneUtility::ResetTestData()
       
   801 // -----------------------------------------------------------------------------
       
   802 //
       
   803 void CMdaAudioToneUtility::ResetTestData()
       
   804     {
       
   805     CMdaAudioToneUtility::iStaticTestData.ResetAndDestroy();
       
   806     CMdaAudioToneUtility::iDelayedAudioLoading = EFalse;
       
   807     CMdaAudioToneUtility::iErrorInAudioLoading = EFalse;
       
   808     }
       
   809 
       
   810 // -----------------------------------------------------------------------------
       
   811 // CMdaAudioToneUtility::DoCancel()
       
   812 // -----------------------------------------------------------------------------
       
   813 //
       
   814 void CMdaAudioToneUtility::DoCancel()
       
   815     {
       
   816     iTimer.Cancel();
       
   817     }
       
   818 
       
   819 // -----------------------------------------------------------------------------
       
   820 // CMdaAudioToneUtility::RunL()
       
   821 // -----------------------------------------------------------------------------
       
   822 //
       
   823 void CMdaAudioToneUtility::RunL()
       
   824     {
       
   825     if ( CMdaAudioToneUtility::iErrorInAudioLoading )
       
   826         {
       
   827         iObserver.MatoPrepareComplete( KGeneratedError );
       
   828         }
       
   829     else
       
   830         {
       
   831         iObserver.MatoPrepareComplete( KErrNone );
       
   832         }
       
   833     }
       
   834 
       
   835 // -----------------------------------------------------------------------------
       
   836 // CMdaAudioToneUtility::Stop()
       
   837 // -----------------------------------------------------------------------------
       
   838 //
       
   839 void CMdaAudioToneUtility::Stop()
       
   840     {
       
   841      CTestFunctionCallData* data( NULL );
       
   842     TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::EStop ) );
       
   843     CMdaAudioToneUtility::iStaticTestData.Append( data );   
       
   844     }
       
   845 
       
   846 // -----------------------------------------------------------------------------
       
   847 // CMdaAudioToneUtility::ConstructL()
       
   848 // -----------------------------------------------------------------------------
       
   849 //
       
   850 void CMdaAudioToneUtility::ConstructL()
       
   851     {
       
   852     iTimer.CreateLocal();
       
   853     
       
   854     if ( CMdaAudioToneUtility::iDelayedAudioLoading )
       
   855         {
       
   856         iTimer.After( iStatus, KDelayedLoadingTime );
       
   857         }
       
   858     else
       
   859         {
       
   860         iTimer.After( iStatus, KNormalLoadingTime );
       
   861         }
       
   862     SetActive();
       
   863     }
       
   864