srsf/ttscontrollerplugin/src/ttsplugin.cpp
branchRCL_3
changeset 19 e36f3802f733
parent 0 bf1d17376201
equal deleted inserted replaced
18:cad71a31b7fc 19:e36f3802f733
       
     1 /*
       
     2 * Copyright (c) 2004-2007 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:  Implementations for CTtsControllerPlugin methods.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 // INCLUDE FILES
       
    21 #include <e32base.h>
       
    22 #include <implementationproxy.h>
       
    23 #include <mmfcontrollerframeworkbase.h>
       
    24 #include <nssttscustomcommandparser.h>
       
    25 #include <mmfaudio.h>
       
    26 #include "ttsplugin.h"
       
    27 #include "ttspluginbody.h"
       
    28 #include "ttspluginimplementationuids.hrh"
       
    29 
       
    30 
       
    31 // ============================ MEMBER FUNCTIONS ===============================
       
    32 
       
    33 // -----------------------------------------------------------------------------
       
    34 // CTtsControllerPlugin::CTtsControllerPlugin
       
    35 // C++ default constructor can NOT contain any code, that
       
    36 // might leave.
       
    37 // -----------------------------------------------------------------------------
       
    38 //
       
    39 CTtsControllerPlugin::CTtsControllerPlugin() : iBody( NULL )
       
    40     {
       
    41     }
       
    42 
       
    43 
       
    44 // -----------------------------------------------------------------------------
       
    45 // CTtsControllerPlugin::ConstructL
       
    46 // Symbian 2nd phase constructor can leave.
       
    47 // -----------------------------------------------------------------------------
       
    48 //
       
    49 void CTtsControllerPlugin::ConstructL()
       
    50     {
       
    51     // Implementation body
       
    52     iBody = CTtsControllerPluginBody::NewL( this );
       
    53 
       
    54     CMMFAudioControllerCustomCommandParser* audConParser = CMMFAudioControllerCustomCommandParser::NewL( *this );
       
    55     CleanupStack::PushL( audConParser );
       
    56     // Parser now owned by controller framework
       
    57     AddCustomCommandParserL( *audConParser ); 
       
    58     CleanupStack::Pop( audConParser );
       
    59 
       
    60     CMMFAudioPlayDeviceCustomCommandParser* audPlayDevParser = CMMFAudioPlayDeviceCustomCommandParser::NewL( *this );
       
    61     CleanupStack::PushL( audPlayDevParser );
       
    62     // Parser now owned by controller framework
       
    63     AddCustomCommandParserL( *audPlayDevParser );
       
    64     CleanupStack::Pop();//audPlayDevParser
       
    65 
       
    66     CTtsCustomCommandParser* ttsParser = CTtsCustomCommandParser::NewL( *this );
       
    67     CleanupStack::PushL( ttsParser );
       
    68     // Parser now owned by controller framework
       
    69     AddCustomCommandParserL( *ttsParser );
       
    70     CleanupStack::Pop();//ttsParser
       
    71 
       
    72     }
       
    73 
       
    74 
       
    75 // -----------------------------------------------------------------------------
       
    76 // CTtsControllerPlugin::NewL
       
    77 // Two-phased constructor.
       
    78 // -----------------------------------------------------------------------------
       
    79 //
       
    80 CTtsControllerPlugin* CTtsControllerPlugin::NewL()
       
    81     {
       
    82     CTtsControllerPlugin* self = new( ELeave ) CTtsControllerPlugin;
       
    83     
       
    84     CleanupStack::PushL( self );
       
    85     self->ConstructL();
       
    86     CleanupStack::Pop();
       
    87     
       
    88     return self;
       
    89     }
       
    90 
       
    91 
       
    92 // -----------------------------------------------------------------------------
       
    93 // CTtsControllerPlugin::~CTtsControllerPlugin
       
    94 // Destructor.
       
    95 // -----------------------------------------------------------------------------
       
    96 //
       
    97 CTtsControllerPlugin::~CTtsControllerPlugin()
       
    98     {
       
    99     if ( iBody != NULL )
       
   100         {
       
   101         delete iBody;
       
   102         }
       
   103     }
       
   104 
       
   105 
       
   106 // -----------------------------------------------------------------------------
       
   107 // CTtsControllerPlugin::InitializationReady
       
   108 //
       
   109 // -----------------------------------------------------------------------------
       
   110 //
       
   111 void CTtsControllerPlugin::InitializationReady( TInt aError )
       
   112     {
       
   113     TMMFEvent event;
       
   114     event.iEventType = KMMFEventCategoryAudioLoadingComplete;
       
   115     event.iErrorCode = aError;
       
   116 
       
   117     DoSendEventToClient( event );
       
   118     }
       
   119 
       
   120 
       
   121 // -----------------------------------------------------------------------------
       
   122 // CTtsControllerPlugin::SynthesisReady
       
   123 //
       
   124 // -----------------------------------------------------------------------------
       
   125 //
       
   126 void CTtsControllerPlugin::SynthesisReady( TInt aError )
       
   127     {
       
   128     TMMFEvent event;
       
   129     event.iEventType = KMMFEventCategoryPlaybackComplete;
       
   130     event.iErrorCode = aError;
       
   131 
       
   132     DoSendEventToClient( event );
       
   133     }
       
   134 
       
   135 // -----------------------------------------------------------------------------
       
   136 // CTtsControllerPlugin::AddDataSourceL
       
   137 // Forwards call to implementation object.
       
   138 // -----------------------------------------------------------------------------
       
   139 //
       
   140 void CTtsControllerPlugin::AddDataSourceL( MDataSource& aDataSource )
       
   141     {
       
   142     iBody->AddDataSourceL( aDataSource );
       
   143     }
       
   144 
       
   145 
       
   146 // -----------------------------------------------------------------------------
       
   147 // CTtsControllerPlugin::AddDataSinkL
       
   148 // Forwards call to implementation object.
       
   149 // -----------------------------------------------------------------------------
       
   150 //
       
   151 void CTtsControllerPlugin::AddDataSinkL( MDataSink& aDataSink )
       
   152     {
       
   153     iBody->AddDataSinkL( aDataSink );
       
   154     }
       
   155       
       
   156   
       
   157 // -----------------------------------------------------------------------------
       
   158 // CTtsControllerPlugin::RemoveDataSourceL
       
   159 // Forwards call to implementation object.
       
   160 // -----------------------------------------------------------------------------
       
   161 //
       
   162 void CTtsControllerPlugin::RemoveDataSourceL( MDataSource& aDataSource )
       
   163     {
       
   164     iBody->RemoveDataSourceL( aDataSource );
       
   165     }
       
   166       
       
   167   
       
   168 // -----------------------------------------------------------------------------
       
   169 // CTtsControllerPlugin::RemoveDataSinkLn
       
   170 // Forwards call to implementation object.
       
   171 // -----------------------------------------------------------------------------
       
   172 //
       
   173 void CTtsControllerPlugin::RemoveDataSinkL( MDataSink& aDataSink )
       
   174     {
       
   175     iBody->RemoveDataSinkL( aDataSink );
       
   176     }
       
   177   
       
   178       
       
   179 // -----------------------------------------------------------------------------
       
   180 // CTtsControllerPlugin::ResetL
       
   181 // Forwards call to implementation object.
       
   182 // -----------------------------------------------------------------------------
       
   183 //
       
   184 void CTtsControllerPlugin::ResetL()
       
   185     {
       
   186     iBody->ResetL();
       
   187     }
       
   188         
       
   189 
       
   190 // -----------------------------------------------------------------------------
       
   191 // CTtsControllerPlugin::PrimeL
       
   192 // ?Forwards call to implementation object.
       
   193 // -----------------------------------------------------------------------------
       
   194 //
       
   195 void CTtsControllerPlugin::PrimeL()
       
   196     {
       
   197     iBody->PrimeL();
       
   198     }
       
   199       
       
   200   
       
   201 // -----------------------------------------------------------------------------
       
   202 // CTtsControllerPlugin::PlayL
       
   203 // Forwards call to implementation object.
       
   204 // -----------------------------------------------------------------------------
       
   205 //
       
   206 void CTtsControllerPlugin::PlayL()
       
   207     {
       
   208     iBody->PlayL();
       
   209     }
       
   210         
       
   211 
       
   212 // -----------------------------------------------------------------------------
       
   213 // CTtsControllerPlugin::PauseL
       
   214 // Forwards call to implementation object.
       
   215 // -----------------------------------------------------------------------------
       
   216 //
       
   217 void CTtsControllerPlugin::PauseL()
       
   218     {
       
   219     iBody->PauseL();
       
   220     }
       
   221         
       
   222 
       
   223 // -----------------------------------------------------------------------------
       
   224 // CTtsControllerPlugin::StopL
       
   225 // Forwards call to implementation object.
       
   226 // -----------------------------------------------------------------------------
       
   227 //
       
   228 void CTtsControllerPlugin::StopL()
       
   229     {
       
   230     iBody->StopL();
       
   231     }
       
   232       
       
   233   
       
   234 // -----------------------------------------------------------------------------
       
   235 // CTtsControllerPlugin::PositionL
       
   236 // Forwards call to implementation object.
       
   237 // -----------------------------------------------------------------------------
       
   238 //
       
   239 TTimeIntervalMicroSeconds CTtsControllerPlugin::PositionL() const
       
   240     {
       
   241     return iBody->PositionL();
       
   242     }
       
   243      
       
   244    
       
   245 // -----------------------------------------------------------------------------
       
   246 // CTtsControllerPlugin::SetPositionL
       
   247 // Forwards call to implementation object.
       
   248 // -----------------------------------------------------------------------------
       
   249 //
       
   250 void CTtsControllerPlugin::SetPositionL( const TTimeIntervalMicroSeconds& aPosition )
       
   251     {
       
   252     iBody->SetPositionL( aPosition );
       
   253     }
       
   254         
       
   255 
       
   256 // -----------------------------------------------------------------------------
       
   257 // CTtsControllerPlugin::DurationL
       
   258 // Forwards call to implementation object.
       
   259 // -----------------------------------------------------------------------------
       
   260 //
       
   261 TTimeIntervalMicroSeconds CTtsControllerPlugin::DurationL() const
       
   262     {
       
   263     return iBody->DurationL();
       
   264     }
       
   265        
       
   266  
       
   267 // -----------------------------------------------------------------------------
       
   268 // CTtsControllerPlugin::SetPrioritySettings
       
   269 // Forwards call to implementation object.
       
   270 // -----------------------------------------------------------------------------
       
   271 //
       
   272 void CTtsControllerPlugin::SetPrioritySettings( const TMMFPrioritySettings& aPrioritySettings )
       
   273     {
       
   274     iBody->SetPrioritySettings( aPrioritySettings );
       
   275     }
       
   276         
       
   277 
       
   278 // -----------------------------------------------------------------------------
       
   279 // CTtsControllerPlugin::CustomCommand
       
   280 // Forwards call to implementation object.
       
   281 // -----------------------------------------------------------------------------
       
   282 //
       
   283 void CTtsControllerPlugin::CustomCommand( TMMFMessage& aMessage )
       
   284     {
       
   285     iBody->CustomCommand( aMessage );
       
   286     }
       
   287         
       
   288 
       
   289 // -----------------------------------------------------------------------------
       
   290 // CTtsControllerPlugin::GetNumberOfMetaDataEntriesL
       
   291 // Forwards call to implementation object.
       
   292 // -----------------------------------------------------------------------------
       
   293 //
       
   294 void CTtsControllerPlugin::GetNumberOfMetaDataEntriesL( TInt& aNumberOfEntries )
       
   295     {
       
   296     iBody->GetNumberOfMetaDataEntriesL( aNumberOfEntries );
       
   297     }
       
   298         
       
   299 
       
   300 // -----------------------------------------------------------------------------
       
   301 // CTtsControllerPlugin::GetMetaDataEntryL
       
   302 // Forwards call to implementation object.
       
   303 // -----------------------------------------------------------------------------
       
   304 //
       
   305 CMMFMetaDataEntry* CTtsControllerPlugin::GetMetaDataEntryL( TInt aIndex )
       
   306     {
       
   307     return iBody->GetMetaDataEntryL( aIndex );
       
   308     }
       
   309 
       
   310 
       
   311 // -----------------------------------------------------------------------------
       
   312 // CTtsControllerPlugin::MacSetSourceSampleRateL
       
   313 // Not supported by TTS controller plugin.
       
   314 // -----------------------------------------------------------------------------
       
   315 //
       
   316 void CTtsControllerPlugin::MacSetSourceSampleRateL( TUint aSampleRate )
       
   317     {
       
   318     iBody->MacSetSourceSampleRateL( aSampleRate );
       
   319     }
       
   320      
       
   321    
       
   322 // -----------------------------------------------------------------------------
       
   323 // CTtsControllerPlugin::MacSetSourceBitRateL
       
   324 // Not supported by TTS controller plugin.
       
   325 // -----------------------------------------------------------------------------
       
   326 //
       
   327 void CTtsControllerPlugin::MacSetSourceBitRateL( TUint aBitRate )
       
   328     {
       
   329     iBody->MacSetSourceBitRateL( aBitRate );
       
   330     }
       
   331         
       
   332 
       
   333 // -----------------------------------------------------------------------------
       
   334 // CTtsControllerPlugin::MacSetSourceNumChannelsL
       
   335 // Not supported by TTS controller plugin.
       
   336 // -----------------------------------------------------------------------------
       
   337 //
       
   338 void CTtsControllerPlugin::MacSetSourceNumChannelsL( TUint aNumChannels )
       
   339     {
       
   340     iBody->MacSetSourceNumChannelsL( aNumChannels );
       
   341     }
       
   342       
       
   343   
       
   344 // -----------------------------------------------------------------------------
       
   345 // CTtsControllerPlugin::MacSetSourceFormatL
       
   346 // Not supported by TTS controller plugin.
       
   347 // -----------------------------------------------------------------------------
       
   348 //
       
   349 void CTtsControllerPlugin::MacSetSourceFormatL( TUid aFormatUid )
       
   350     {
       
   351     iBody->MacSetSourceFormatL( aFormatUid );
       
   352     }
       
   353         
       
   354 
       
   355 // -----------------------------------------------------------------------------
       
   356 // CTtsControllerPlugin::MacSetSourceDataTypeL
       
   357 // Not supported by TTS controller plugin.
       
   358 // -----------------------------------------------------------------------------
       
   359 //
       
   360 void CTtsControllerPlugin::MacSetSourceDataTypeL( TFourCC aDataType )
       
   361     {
       
   362     iBody->MacSetSourceDataTypeL( aDataType );
       
   363     }
       
   364         
       
   365 
       
   366 // -----------------------------------------------------------------------------
       
   367 // CTtsControllerPlugin::MacSetSinkSampleRateL
       
   368 // Not supported by TTS controller plugin.
       
   369 // -----------------------------------------------------------------------------
       
   370 //
       
   371 void CTtsControllerPlugin::MacSetSinkSampleRateL( TUint aSampleRate )
       
   372     {
       
   373     iBody->MacSetSinkSampleRateL( aSampleRate );
       
   374     }
       
   375         
       
   376 
       
   377 // -----------------------------------------------------------------------------
       
   378 // CTtsControllerPlugin::MacSetSinkBitRateL
       
   379 // Not supported by TTS controller plugin.
       
   380 // -----------------------------------------------------------------------------
       
   381 //
       
   382 void CTtsControllerPlugin::MacSetSinkBitRateL( TUint aRate )
       
   383     {
       
   384     iBody->MacSetSinkBitRateL( aRate );
       
   385     }
       
   386      
       
   387    
       
   388 // -----------------------------------------------------------------------------
       
   389 // CTtsControllerPlugin::MacSetSinkNumChannelsL
       
   390 // Not supported by TTS controller plugin.
       
   391 // -----------------------------------------------------------------------------
       
   392 //
       
   393 void CTtsControllerPlugin::MacSetSinkNumChannelsL( TUint aNumChannels )
       
   394     {
       
   395     iBody->MacSetSinkNumChannelsL( aNumChannels );
       
   396     }
       
   397       
       
   398   
       
   399 // -----------------------------------------------------------------------------
       
   400 // CTtsControllerPlugin::MacSetSinkFormatL
       
   401 // Not supported by TTS controller plugin.
       
   402 // -----------------------------------------------------------------------------
       
   403 //
       
   404 void CTtsControllerPlugin::MacSetSinkFormatL( TUid aFormatUid )
       
   405     {
       
   406     iBody->MacSetSinkFormatL( aFormatUid );
       
   407     }
       
   408         
       
   409 
       
   410 // -----------------------------------------------------------------------------
       
   411 // CTtsControllerPlugin::MacSetSinkDataTypeL
       
   412 // Not supported by TTS controller plugin.
       
   413 // -----------------------------------------------------------------------------
       
   414 //
       
   415 void CTtsControllerPlugin::MacSetSinkDataTypeL(  TFourCC aDataType )
       
   416     {
       
   417     iBody->MacSetSinkDataTypeL( aDataType );
       
   418     }
       
   419       
       
   420   
       
   421 // -----------------------------------------------------------------------------
       
   422 // CTtsControllerPlugin::MacSetCodecL
       
   423 // Not supported by TTS controller plugin.
       
   424 // -----------------------------------------------------------------------------
       
   425 //
       
   426 void CTtsControllerPlugin::MacSetCodecL( TFourCC aSourceDataType,
       
   427                                          TFourCC aSinkDataType )
       
   428     {
       
   429     iBody->MacSetCodecL( aSourceDataType, aSinkDataType );
       
   430     }
       
   431         
       
   432         
       
   433 // -----------------------------------------------------------------------------
       
   434 // CTtsControllerPlugin::MacGetSourceSampleRateL
       
   435 // Not supported by TTS controller plugin.
       
   436 // -----------------------------------------------------------------------------
       
   437 //
       
   438 void CTtsControllerPlugin::MacGetSourceSampleRateL( TUint& aRate )
       
   439     {
       
   440     iBody->MacGetSourceSampleRateL( aRate );
       
   441     }
       
   442        
       
   443  
       
   444 // -----------------------------------------------------------------------------
       
   445 // CTtsControllerPlugin::MacGetSourceBitRateL
       
   446 // Not supported by TTS controller plugin.
       
   447 // -----------------------------------------------------------------------------
       
   448 //
       
   449 void CTtsControllerPlugin::MacGetSourceBitRateL( TUint& aRate )
       
   450     {
       
   451     iBody->MacGetSourceBitRateL( aRate );
       
   452     }
       
   453       
       
   454   
       
   455 // -----------------------------------------------------------------------------
       
   456 // CTtsControllerPlugin::MacGetSourceNumChannelsL
       
   457 // Not supported by TTS controller plugin.
       
   458 // -----------------------------------------------------------------------------
       
   459 //
       
   460 void CTtsControllerPlugin::MacGetSourceNumChannelsL( TUint& aNumChannels )
       
   461     {
       
   462     iBody->MacGetSourceNumChannelsL( aNumChannels );
       
   463     }
       
   464      
       
   465    
       
   466 // -----------------------------------------------------------------------------
       
   467 // CTtsControllerPlugin::MacGetSourceFormatL
       
   468 // Not supported by TTS controller plugin.
       
   469 // -----------------------------------------------------------------------------
       
   470 // 
       
   471 void CTtsControllerPlugin::MacGetSourceFormatL( TUid& aFormat )
       
   472     {
       
   473     iBody->MacGetSourceFormatL( aFormat );
       
   474     }
       
   475      
       
   476    
       
   477 // -----------------------------------------------------------------------------
       
   478 // CTtsControllerPlugin::MacGetSourceDataTypeL
       
   479 // Not supported by TTS controller plugin.
       
   480 // -----------------------------------------------------------------------------
       
   481 //
       
   482 void CTtsControllerPlugin::MacGetSourceDataTypeL( TFourCC& aDataType )
       
   483     {
       
   484     iBody->MacGetSourceDataTypeL( aDataType );
       
   485     }
       
   486      
       
   487    
       
   488 // -----------------------------------------------------------------------------
       
   489 // CTtsControllerPlugin::MacGetSinkSampleRateL
       
   490 // Not supported by TTS controller plugin.
       
   491 // -----------------------------------------------------------------------------
       
   492 //
       
   493 void CTtsControllerPlugin::MacGetSinkSampleRateL( TUint& aRate )
       
   494     {
       
   495     iBody->MacGetSinkSampleRateL( aRate );
       
   496     }
       
   497     
       
   498     
       
   499 // -----------------------------------------------------------------------------
       
   500 // CTtsControllerPlugin::MacGetSinkBitRateL
       
   501 // Not supported by TTS controller plugin.
       
   502 // -----------------------------------------------------------------------------
       
   503 //
       
   504 void CTtsControllerPlugin::MacGetSinkBitRateL( TUint& aRate )
       
   505     {
       
   506     iBody->MacGetSinkBitRateL( aRate );
       
   507     }
       
   508      
       
   509    
       
   510 // -----------------------------------------------------------------------------
       
   511 // CTtsControllerPlugin::MacGetSinkNumChannelsL
       
   512 // Not supported by TTS controller plugin.
       
   513 // -----------------------------------------------------------------------------
       
   514 //
       
   515 void CTtsControllerPlugin::MacGetSinkNumChannelsL( TUint& aNumChannels )
       
   516     {
       
   517     iBody->MacGetSinkNumChannelsL( aNumChannels );
       
   518     }
       
   519         
       
   520 
       
   521 // -----------------------------------------------------------------------------
       
   522 // CTtsControllerPlugin::MacGetSinkFormatL
       
   523 // Not supported by TTS controller plugin.
       
   524 // -----------------------------------------------------------------------------
       
   525 //
       
   526 void CTtsControllerPlugin::MacGetSinkFormatL( TUid& aFormat )
       
   527     {
       
   528     iBody->MacGetSinkFormatL( aFormat );
       
   529     }
       
   530         
       
   531 
       
   532 // -----------------------------------------------------------------------------
       
   533 // CTtsControllerPlugin::MacGetSinkDataTypeL
       
   534 // Not supported by TTS controller plugin.
       
   535 // -----------------------------------------------------------------------------
       
   536 //
       
   537 void CTtsControllerPlugin::MacGetSinkDataTypeL( TFourCC& aDataType )
       
   538     {
       
   539     iBody->MacGetSinkDataTypeL( aDataType );
       
   540     }
       
   541        
       
   542  
       
   543 // -----------------------------------------------------------------------------
       
   544 // CTtsControllerPlugin::MacGetSupportedSourceSampleRatesL
       
   545 // Not supported by TTS controller plugin.
       
   546 // -----------------------------------------------------------------------------
       
   547 //
       
   548 void CTtsControllerPlugin::MacGetSupportedSourceSampleRatesL( RArray<TUint>& aSupportedRates )
       
   549     {
       
   550     iBody->MacGetSupportedSourceSampleRatesL( aSupportedRates );
       
   551     }
       
   552      
       
   553    
       
   554 // -----------------------------------------------------------------------------
       
   555 // CTtsControllerPlugin::MacGetSupportedSourceBitRatesL
       
   556 // Not supported by TTS controller plugin.
       
   557 // -----------------------------------------------------------------------------
       
   558 //
       
   559 void CTtsControllerPlugin::MacGetSupportedSourceBitRatesL( RArray<TUint>& aSupportedRates )
       
   560     {
       
   561     iBody->MacGetSupportedSourceBitRatesL( aSupportedRates );
       
   562     }
       
   563         
       
   564 
       
   565 // -----------------------------------------------------------------------------
       
   566 // CTtsControllerPlugin::MacGetSupportedSourceNumChannelsL
       
   567 // Not supported by TTS controller plugin.
       
   568 // -----------------------------------------------------------------------------
       
   569 //
       
   570 void CTtsControllerPlugin::MacGetSupportedSourceNumChannelsL( RArray<TUint>& aSupportedChannels )
       
   571     {
       
   572     iBody->MacGetSupportedSourceNumChannelsL( aSupportedChannels );
       
   573     }
       
   574         
       
   575 
       
   576 // -----------------------------------------------------------------------------
       
   577 // CTtsControllerPlugin::MacGetSupportedSourceDataTypesL
       
   578 // Not supported by TTS controller plugin.
       
   579 // -----------------------------------------------------------------------------
       
   580 //
       
   581 void CTtsControllerPlugin::MacGetSupportedSourceDataTypesL( RArray<TFourCC>& aSupportedDataTypes )
       
   582     {
       
   583     iBody->MacGetSupportedSourceDataTypesL( aSupportedDataTypes );
       
   584     }
       
   585         
       
   586 
       
   587 // -----------------------------------------------------------------------------
       
   588 // CTtsControllerPlugin::MacGetSupportedSinkSampleRatesL
       
   589 // Not supported by TTS controller plugin.
       
   590 // -----------------------------------------------------------------------------
       
   591 //
       
   592 void CTtsControllerPlugin::MacGetSupportedSinkSampleRatesL( RArray<TUint>& aSupportedRates )
       
   593     {
       
   594     iBody->MacGetSupportedSinkSampleRatesL( aSupportedRates );
       
   595     }
       
   596         
       
   597 
       
   598 // -----------------------------------------------------------------------------
       
   599 // CTtsControllerPlugin::MacGetSupportedSinkBitRatesL
       
   600 // Not supported by TTS controller plugin.
       
   601 // -----------------------------------------------------------------------------
       
   602 //
       
   603 void CTtsControllerPlugin::MacGetSupportedSinkBitRatesL( RArray<TUint>& aSupportedRates )
       
   604     {
       
   605     iBody->MacGetSupportedSinkBitRatesL( aSupportedRates );
       
   606     }
       
   607         
       
   608 
       
   609 // -----------------------------------------------------------------------------
       
   610 // CTtsControllerPlugin::MacGetSupportedSinkNumChannelsL
       
   611 // Not supported by TTS controller plugin.
       
   612 // -----------------------------------------------------------------------------
       
   613 //
       
   614 void CTtsControllerPlugin::MacGetSupportedSinkNumChannelsL( RArray<TUint>& aSupportedChannels )
       
   615     {
       
   616     iBody->MacGetSupportedSinkNumChannelsL( aSupportedChannels );
       
   617     }
       
   618         
       
   619 
       
   620 // -----------------------------------------------------------------------------
       
   621 // CTtsControllerPlugin::MacGetSupportedSinkDataTypesL
       
   622 // Not supported by TTS controller plugin.
       
   623 // -----------------------------------------------------------------------------
       
   624 //
       
   625 void CTtsControllerPlugin::MacGetSupportedSinkDataTypesL( RArray<TFourCC>& aSupportedDataTypes )
       
   626     {
       
   627     iBody->MacGetSupportedSinkDataTypesL( aSupportedDataTypes );
       
   628     }
       
   629 
       
   630 
       
   631 // -----------------------------------------------------------------------------
       
   632 // CTtsControllerPlugin::MapdSetVolumeL
       
   633 // Forward call to the implementation object.
       
   634 // -----------------------------------------------------------------------------
       
   635 //
       
   636 void CTtsControllerPlugin::MapdSetVolumeL( TInt aVolume ) 
       
   637     {
       
   638     iBody->MapdSetVolumeL( aVolume );
       
   639     }
       
   640        
       
   641  
       
   642 // -----------------------------------------------------------------------------
       
   643 // CTtsControllerPlugin::MapdGetMaxVolumeL
       
   644 // Forward call to the implementation object.
       
   645 // -----------------------------------------------------------------------------
       
   646 //
       
   647 void CTtsControllerPlugin::MapdGetMaxVolumeL( TInt& aMaxVolume )
       
   648     {
       
   649     iBody->MapdGetMaxVolumeL( aMaxVolume );
       
   650     }
       
   651         
       
   652 
       
   653 // -----------------------------------------------------------------------------
       
   654 // CTtsControllerPlugin::MapdGetVolumeL
       
   655 // Forward call to the implementation object.
       
   656 // -----------------------------------------------------------------------------
       
   657 //
       
   658 void CTtsControllerPlugin::MapdGetVolumeL( TInt& aVolume )
       
   659     {
       
   660     iBody->MapdGetVolumeL( aVolume );
       
   661     }
       
   662         
       
   663 
       
   664 // -----------------------------------------------------------------------------
       
   665 // CTtsControllerPlugin::MapdSetVolumeRampL
       
   666 // Forward call to the implementation object.
       
   667 // -----------------------------------------------------------------------------
       
   668 //
       
   669 void CTtsControllerPlugin::MapdSetVolumeRampL( const TTimeIntervalMicroSeconds& aRampDuration )
       
   670     {
       
   671     iBody->MapdSetVolumeRampL( aRampDuration );
       
   672     }
       
   673         
       
   674 
       
   675 // -----------------------------------------------------------------------------
       
   676 // CTtsControllerPlugin::MapdSetBalanceL
       
   677 // Forward call to the implementation object.
       
   678 // -----------------------------------------------------------------------------
       
   679 //
       
   680 void CTtsControllerPlugin::MapdSetBalanceL( TInt aBalance )
       
   681     {
       
   682     iBody->MapdSetBalanceL( aBalance );
       
   683     }
       
   684         
       
   685 
       
   686 // -----------------------------------------------------------------------------
       
   687 // CTtsControllerPlugin::MapdGetBalanceL
       
   688 // Forward call to the implementation object.
       
   689 // -----------------------------------------------------------------------------
       
   690 //
       
   691 void CTtsControllerPlugin::MapdGetBalanceL( TInt& aBalance )
       
   692     {
       
   693     iBody->MapdGetBalanceL( aBalance );
       
   694     }
       
   695 
       
   696 
       
   697 // -----------------------------------------------------------------------------
       
   698 // CTtsControllerPlugin::MttscAddStyleL
       
   699 // Forward call to the implementation object.
       
   700 // -----------------------------------------------------------------------------
       
   701 //
       
   702 TTtsStyleID CTtsControllerPlugin::MttscAddStyleL( const TTtsStyle& aStyle )
       
   703     {
       
   704     return iBody->MttscAddStyleL( aStyle );
       
   705     }
       
   706 
       
   707 
       
   708 // -----------------------------------------------------------------------------
       
   709 // CTtsControllerPlugin::MttscDeleteStyle
       
   710 // Forward call to the implementation object.
       
   711 // -----------------------------------------------------------------------------
       
   712 //
       
   713 TInt CTtsControllerPlugin::MttscDeleteStyle( TTtsStyleID aID )
       
   714     {
       
   715     return iBody->MttscDeleteStyle( aID );
       
   716     }
       
   717 
       
   718 
       
   719 // -----------------------------------------------------------------------------
       
   720 // CTtsControllerPlugin::MttscGetPositionL
       
   721 // Forward call to the implementation object.
       
   722 // -----------------------------------------------------------------------------
       
   723 //
       
   724 void CTtsControllerPlugin::MttscGetPositionL( TInt& aWordIndex )
       
   725     {
       
   726     iBody->MttscGetPositionL( aWordIndex );
       
   727     }
       
   728 
       
   729 
       
   730 // -----------------------------------------------------------------------------
       
   731 // CTtsControllerPlugin::MttscNumberOfStyles
       
   732 // Forward call to the implementation object.
       
   733 // -----------------------------------------------------------------------------
       
   734 //
       
   735 TUint16 CTtsControllerPlugin::MttscNumberOfStyles()
       
   736     {
       
   737     return iBody->MttscNumberOfStyles();
       
   738     }
       
   739 
       
   740 
       
   741 // -----------------------------------------------------------------------------
       
   742 // CTtsControllerPlugin::MttscOpenParsedTextL
       
   743 // Forward call to the implementation object.
       
   744 // -----------------------------------------------------------------------------
       
   745 //
       
   746 void CTtsControllerPlugin::MttscOpenParsedTextL( CTtsParsedText& aText )
       
   747     {
       
   748     iBody->MttscOpenParsedTextL( aText );
       
   749     }
       
   750 
       
   751 
       
   752 // -----------------------------------------------------------------------------
       
   753 // CTtsControllerPlugin::MttscSetPositionL
       
   754 // Forward call to the implementation object.
       
   755 // -----------------------------------------------------------------------------
       
   756 //
       
   757 void CTtsControllerPlugin::MttscSetPositionL( TInt aWordIndex )
       
   758     {
       
   759     iBody->MttscSetPositionL( aWordIndex );
       
   760     }
       
   761 
       
   762 
       
   763 // -----------------------------------------------------------------------------
       
   764 // CTtsControllerPlugin::MttscAddStyleL
       
   765 // Forward call to the implementation object.
       
   766 // -----------------------------------------------------------------------------
       
   767 //
       
   768 TTtsStyle& CTtsControllerPlugin::MttscStyleL( TTtsStyleID aStyleID )
       
   769     {
       
   770     return iBody->MttscStyleL( aStyleID );
       
   771     }
       
   772 
       
   773 
       
   774 // -----------------------------------------------------------------------------
       
   775 // CTtsControllerPlugin::MttscStyleL
       
   776 // Forward call to the implementation object.
       
   777 // -----------------------------------------------------------------------------
       
   778 //
       
   779 TTtsStyle& CTtsControllerPlugin::MttscStyleL( TUint16 aIndex )
       
   780     {
       
   781     return iBody->MttscStyleL( aIndex );
       
   782     }
       
   783 
       
   784 // -----------------------------------------------------------------------------
       
   785 // CTtsControllerPlugin::MttscSetDefaultStyleL
       
   786 // Forward call to the implementation object.
       
   787 // -----------------------------------------------------------------------------
       
   788 //
       
   789 void CTtsControllerPlugin::MttscSetDefaultStyleL( const TTtsStyle& aStyle )
       
   790     {
       
   791     iBody->MttscSetDefaultStyleL( aStyle );
       
   792     }
       
   793 
       
   794 // -----------------------------------------------------------------------------
       
   795 // CTtsControllerPlugin::MttscDefaultStyleL
       
   796 // Forward call to the implementation object.
       
   797 // -----------------------------------------------------------------------------
       
   798 //
       
   799 TTtsStyle& CTtsControllerPlugin::MttscDefaultStyleL()
       
   800     {
       
   801     return iBody->MttscDefaultStyleL();
       
   802     }
       
   803 
       
   804 // -----------------------------------------------------------------------------
       
   805 // CTtsControllerPlugin::MttscSetSpeakingRateL
       
   806 // Forward call to the implementation object.
       
   807 // -----------------------------------------------------------------------------
       
   808 //
       
   809 void CTtsControllerPlugin::MttscSetSpeakingRateL( TInt aRate )
       
   810     {
       
   811     iBody->MttscSetSpeakingRateL( aRate );
       
   812     }
       
   813 
       
   814 // -----------------------------------------------------------------------------
       
   815 // CTtsControllerPlugin::MttscSpeakingRateL
       
   816 // Forward call to the implementation object.
       
   817 // -----------------------------------------------------------------------------
       
   818 //
       
   819 TInt CTtsControllerPlugin::MttscSpeakingRateL()
       
   820     {
       
   821     return iBody->MttscSpeakingRateL();
       
   822     }
       
   823 
       
   824 // -----------------------------------------------------------------------------
       
   825 // CTtsControllerPlugin::MttscGetSupportedLanguagesL
       
   826 // Forward call to the implementation object.
       
   827 // -----------------------------------------------------------------------------
       
   828 //
       
   829 void CTtsControllerPlugin::MttscGetSupportedLanguagesL( RArray<TLanguage>& aLanguages )
       
   830     {
       
   831     return iBody->MttscGetSupportedLanguagesL( aLanguages );
       
   832     }
       
   833 
       
   834 // -----------------------------------------------------------------------------
       
   835 // CTtsControllerPlugin::MttscGetSupportedVoicesL
       
   836 // Forward call to the implementation object.
       
   837 // -----------------------------------------------------------------------------
       
   838 //
       
   839 void CTtsControllerPlugin::MttscGetSupportedVoicesL( TLanguage aLanguage, 
       
   840                                                      RArray<TTtsStyle>& aVoices )
       
   841     {
       
   842     iBody->MttscGetSupportedVoicesL( aLanguage, aVoices );
       
   843     }
       
   844 
       
   845 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
   846 
       
   847 
       
   848 /**
       
   849 * ImplementationTable
       
   850 */
       
   851 const TImplementationProxy ImplementationTable[] =
       
   852     {
       
   853         {{ KTtsImplementationUid }, ( TProxyNewLPtr ) CTtsControllerPlugin::NewL }
       
   854     };
       
   855 
       
   856 // -----------------------------------------------------------------------------
       
   857 // ImplementationGroupProxy
       
   858 // Needed for MMF Controller Plugin goodness.
       
   859 // -----------------------------------------------------------------------------
       
   860 //
       
   861 EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
       
   862 	{
       
   863 	aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
       
   864 	return ImplementationTable;
       
   865 	}
       
   866 
       
   867 // End of File