diff -r 8ce15fced3a6 -r cad71a31b7fc srsf/ttscontrollerplugin/src/ttspluginbody.h --- a/srsf/ttscontrollerplugin/src/ttspluginbody.h Thu Aug 19 09:56:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,857 +0,0 @@ -/* -* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Class CTtsControllerPluginBody -* -*/ - - - -#ifndef TTSPLUGINBODY_H -#define TTSPLUGINBODY_H - -// INCLUDES -#include -#include - -// FORWARD DECLARATIONS -class CTtsControllerPlugin; -class CTTSDataLoader; - -// CLASS DECLARATION - -/** -* Implementation class for Tts controller plugin. -* -* @lib TtsPlugin.lib -* @since 2.8 -*/ -class CTtsControllerPluginBody : public CActive, public MDevTTSObserver - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CTtsControllerPluginBody* NewL( CTtsControllerPlugin* aObserver ); - - /** - * Destructor. - */ - virtual ~CTtsControllerPluginBody(); - - public: // New functions - - /** - * Add a data source to the controller plugin. - * - * @param "aDataSource" "A reference to the data source to be added. - * The controller plugin may call aDataSource.DataSourceType() - * <\code> to find out exactly what type of source it is." - * @leave "" "The controller plugin may leave during this method. - * If the controller plugin does not support the data source, it - * should leave with KErrNotSupported<\code>. - */ - void AddDataSourceL( MDataSource& aDataSource ); - - /** - * Add a data sink to the controller plugin. - * - * @param "aDatasink" "A reference to the data sink to be added. - * The controller plugin may call aDatasink.DatasinkType() - * <\code> to find out exactly what type of sink it is." - * @leave "" "The controller plugin may leave during this method. - * If the controller plugin does not support the data sink, it - * should leave with KErrNotSupported<\code>. - */ - void AddDataSinkL( MDataSink& aDataSink ); - - /** - * Remove a data source from the controller plugin. - * - * @param "aDataSource" A reference to the data source to be removed. - * @leave "" "The controller plugin may leave during this method. - * If the controller plugin does not support the removal of data - * sources, it should leave with KErrNotSupported<\code>. - * If the controller plugin leaves, the data source will not be - * destroyed by the controller framework. If it does not leave, - * the data source will be destroyed. - */ - void RemoveDataSourceL( MDataSource& aDataSource ); - - /** - * Remove a data sink from the controller plugin. - * - * @param "aDatasink" A reference to the data sink to be removed. - * @leave "" "The controller plugin may leave during this method. - * If the controller plugin does not support the removal of data sinks, - * it should leave with KErrNotSupported<\code>. If the - * controller plugin leaves, the data sink will not be destroyed by - * the controller framework. If it does not leave, the data sink - * will be destroyed. - */ - void RemoveDataSinkL( MDataSink& aDataSink ); - - /** - * Reset the controller plugin. - * - * The controller should revert back to its newly constructed state. If - * the Reset is successful (i.e. it doesn't leave), the controller - * framework will delete all objects added to the MMFObjectManager - * including any sources and sinks. - * - * @leave "" "The controller plugin may leave during this method. - * If the controller plugin does not support being reset, - * it should leave with KErrNotSupported<\code>." - */ - void ResetL(); - - /** - * Prime the controller plugin. - * - * The controller must prepare to start playing, by initialising its - * sources, sinks and buffers. This moves the controller from the - * STOPPED to the PRIMED state. - * - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - void PrimeL(); - - /** - * Commence playback. - * - * The controller must now begin transferring data from its source(s) - * to its sink(s). This moves the controller from the PRIMED to the - * PLAYING state. - * - * Note: this method must return once playing has commenced, and not - * wait until playing is complete. - * - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - void PlayL(); - - /** - * Pause the controller plugin. - * - * The controller must now cease transferring data from its source(s) - * to its sink(s). This moves the controller from the PLAYING back to - * the PRIMED state. - * - * A subsequent call to Play()<\code> will cause the controller - * plugin to resume playback from the point it was paused (unless - * there has been a call to SetPosition()<\code> in the meantime. - * - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - void PauseL(); - - /** - * Stop the controller plugin. - * - * The controller must now undo anything that occurred during the call - * to Prime()<\code>. This moves the controller from the PRIMED - * back to the STOPPED state. - * - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - void StopL(); - - /** - * Get the current position. - * - * The controller plugin should calculate the current position in microseconds. - * - * @return "The current position in microseconds." - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - TTimeIntervalMicroSeconds PositionL() const; - - /** - * Set the current position. - * - * The controller plugin should reposition itself to the position provided. - * - * @param "The desired position in microseconds." - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - void SetPositionL( const TTimeIntervalMicroSeconds& aPosition ); - - /** - * Get the duration of the clip. - * - * The controller plugin should calculate the clip duration in microseconds. - * - * @return "The clip duration in microseconds." - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - TTimeIntervalMicroSeconds DurationL() const; - - /** - * Set the priority settings. - * - * The new priority settings must be applied to any resource being used - * by the controller plugin that requires priority settings (for example - * the sound device). - * - * @param "aPrioritySettings" "The new priority settings" - */ - void SetPrioritySettings( const TMMFPrioritySettings& aPrioritySettings ); - - /** - * Handle a custom command. - * - * Custom commands allow a controller plugin to define its own API. - * If the controller framework does not understand a message from the - * client, it is assumed this is a custom command for the plugin and - * passed into this interface. - * - * The more common custom commands can be handled by Custom Command - * Parsers on behalf of the controller plugin. This allows the - * controller plugin to implement a concrete interface (defined by - * mixin classes) rather than having to decode the command itself. - * For more information, @see CMMFCustomCommandParserBase. - * - * The controller plugin must always complete the message passed - * into this method, even if it does not support the interface - * required by the message. - * - * @param "aMessage" "The message to be handled by the controller plugin." - */ - void CustomCommand( TMMFMessage& aMessage ); - - /** - * Retrieve the number of meta data entries in the clip. - * - * @param "aNumberOfEntries" "The controller plugin must set this to - * the number of meta data entries in the clip." - * - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - void GetNumberOfMetaDataEntriesL( TInt& aNumberOfEntries ); - - /** - * Retrieve a meta data entry from the clip. - * - * @param "aIndex" "The index of the meta data entry to retrieve." - * @return "A pointer to a newly created CMMFMetaDataEntry object - * containing the meta information. The controller framework - * will take ownership of the object when this method returns." - * @leave "" "The controller plugin may leave during this method with - * any of the standard system-wide error codes." - */ - CMMFMetaDataEntry* GetMetaDataEntryL( TInt aIndex ); - - - public: // MMMFAudioControllerCustomCommandImplementor - - /** - Set the sample rate of the data source in samples per second. - @param "aSampleRate" "The sample rate, in samples per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSourceSampleRateL(TUint aSampleRate); - - /** - Set the bit rate of the data source in bits per second. - @param "aSampleRate" "The bit rate, in bits per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSourceBitRateL(TUint aBitRate); - - /** - Set the number of channels in the data source. - For example, one channel for mono, two channels for stereo etc. - @param "aNumChannels" "The number of channels." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSourceNumChannelsL(TUint aNumChannels); - - /** - Set the format of the data source. - The UID corresponds to the uid of the CMMFFormat-derived ECOM plugin to be used. - @param "aFormatUid" "The format plugin to be used." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSourceFormatL(TUid aFormatUid); - - /** - Set the fourCC code of the source. - @param "aDataType" "The fourCC code." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSourceDataTypeL(TFourCC aDataType); - - /** - Set the sample rate of the data sink in samples per second. - @param "aSampleRate" "The sample rate, in samples per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSinkSampleRateL(TUint aSampleRate); - - /** - Set the bit rate of the data sink in bits per second. - @param "aSampleRate" "The bit rate, in bits per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSinkBitRateL(TUint aRate); - - /** - Set the number of channels in the data sink. - For example, one channel for mono, two channels for stereo etc. - @param "aNumChannels" "The number of channels." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSinkNumChannelsL(TUint aNumChannels); - - /** - Set the format of the data sink. - The UID corresponds to the uid of the CMMFFormat-derived ECOM plugin to be used. - @param "aFormatUid" "The format plugin to be used." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSinkFormatL(TUid aFormatUid); - - /** - Set the fourCC code of the sink. - @param "aDataType" "The fourCC code." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetSinkDataTypeL(TFourCC aDataType); - - /** - Set the codec to be used. Useful when recording data. - @param "aSourceDataType" "The data type of the source of the codec." - @param "aSinkDataType" "The data type of the sink of the codec." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacSetCodecL(TFourCC aSourceDataType, TFourCC aSinkDataType); - - - /** - Get the sample rate of the data source in samples per second. - @param "aRate" "The sample rate, in samples per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSourceSampleRateL(TUint& aRate); - - /** - Get the bit rate of the data source in bits per second. - @param "aRate" "The bit rate, in bits per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSourceBitRateL(TUint& aRate); - - /** - Get the number of channels in the data source. - For example, one channel for mono, two channels for stereo etc. - @param "aNumChannels" "The number of channels." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSourceNumChannelsL(TUint& aNumChannels); - - /** - Get the format of the data source. - The UID corresponds to the uid of the CMMFFormat-derived ECOM plugin being used. - @param "aFormatUid" "The format plugin being used." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSourceFormatL(TUid& aFormat); - - /** - Get the fourCC code of the source. - @param "aDataType" "The fourCC code." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSourceDataTypeL(TFourCC& aDataType); - - /** - Get the sample rate of the data sink in samples per second. - @param "aRate" "The sample rate, in samples per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSinkSampleRateL(TUint& aRate); - - /** - Get the bit rate of the data sink in bits per second. - @param "aRate" "The bit rate, in bits per second." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSinkBitRateL(TUint& aRate); - - /** - Get the number of channels in the data sink. - For example, one channel for mono, two channels for stereo etc. - @param "aNumChannels" "The number of channels." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSinkNumChannelsL(TUint& aNumChannels); - - /** - Get the format of the data sink. - The UID corresponds to the uid of the CMMFFormat-derived ECOM plugin being used. - @param "aFormatUid" "The format plugin being used." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSinkFormatL(TUid& aFormat); - - /** - Get the fourCC code of the sink. - @param "aDataType" "The fourCC code." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSinkDataTypeL(TFourCC& aDataType); - - - /** - Get the list of sample rates supported by the data source. - @param "aSupportedRates" "The supported rates. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSourceSampleRatesL(RArray& aSupportedRates); - - /** - Get the list of bit rates supported by the data source. - @param "aSupportedRates" "The supported rates. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSourceBitRatesL(RArray& aSupportedRates); - - /** - Get the list of channels supported by the data source L(ie mono, stereo etc). - @param "aSupportedChannels" "The supported channels. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSourceNumChannelsL(RArray& aSupportedChannels); - - /** - Get the list of fourCC codes supported by the data source. - @param "aSupportedDataTypes" "The supported data types. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSourceDataTypesL(RArray& aSupportedDataTypes); - - /** - Get the list of sample rates supported by the data sink. - @param "aSupportedRates" "The supported rates. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSinkSampleRatesL(RArray& aSupportedRates); - - /** - Get the list of bit rates supported by the data sink. - @param "aSupportedRates" "The supported rates. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSinkBitRatesL(RArray& aSupportedRates); - - /** - Get the list of channels supported by the data sink L(ie mono, stereo etc). - @param "aSupportedChannels" "The supported channels. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSinkNumChannelsL(RArray& aSupportedChannels); - - /** - Get the list of fourCC codes supported by the data sink. - @param "aSupportedDataTypes" "The supported data types. Warning: Existing objects in this array will be removed by this method." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MacGetSupportedSinkDataTypesL(RArray& aSupportedDataTypes); - - - public: // From MMMFAudioPlayDeviceCustomCommandImplementor - - /** - Set the volume of the sound device. - @param "aVolume" "The new volume" - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MapdSetVolumeL(TInt aVolume); - - /** - Get the maximum volume supported by the sound device. - @param "aMaxVolume" "The maximum volume, to be filled in by the controller plugin." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MapdGetMaxVolumeL(TInt& aMaxVolume); - - /** - Get the current playback volume. - @param "aVolume" "The volume, to be filled in by the controller." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MapdGetVolumeL(TInt& aVolume); - - /** - * Set a volume ramp. - * - * This will cause the sound device to start playing with zero volume, - * increasing the volume over aRampDuration microseconds. - * - * The volume ramp can be removed by setting the ramp duration to zero. - * - * @param "aRampDuration" "The duration over which the volume is to be - * increased, in microseconds." - * @leave "This function can leave with one of the system-wide error codes. - * The request will be completed with the leave code." - */ - virtual void MapdSetVolumeRampL( const TTimeIntervalMicroSeconds& aRampDuration ); - - /** - Set the balance between the left and right stereo audio channels. - - @param "aBalance" "Use a value between KMMFBalanceMaxLeft<\code> and - KMMFBalanceMaxRight<\code>. Centre balance can be restored by using - KMMFBalanceCenter<\code>." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MapdSetBalanceL(TInt aBalance); - - /** - Retrieve the balance between the left and right stereo audio channels. - - @param "aBalance" "The current balance, filled in by the controller." - @leave "This function can leave with one of the system-wide error codes. The request will be - completed with the leave code." - @since 7.0s - */ - virtual void MapdGetBalanceL(TInt& aBalance); - - public: // Functions from MTtsCustomCommandImplementor - - /** - * Adds a new style. - * - * @param "TTtsStyle& aStyle" Style to add. - * @return Style identifier. - */ - TTtsStyleID MttscAddStyleL( const TTtsStyle& aStyle ); - - /** - * Deletes a style based on style ID. - * - * @param "TTtsStyleID aID" Style ID to be deleted. - * @return Error code. - */ - TInt MttscDeleteStyle( TTtsStyleID aID ); - - /** - * Gets the synthesis position. - * - * @retval "TInt& aWordIndex" Returned position of synthesis. - */ - void MttscGetPositionL( TInt& aWordIndex ); - - /** - * Returns the number of registered styles. - * - * @return Number of styles. - */ - TUint16 MttscNumberOfStyles(); - - /** - * Opens parsed text as source. - * - * @param "CTtsParsedText& aText" Reference to parsed text. - */ - void MttscOpenParsedTextL( CTtsParsedText& aText ); - - /** - * Sets the synthesis position based on word index. - * - * @param "TInt aWordIndex" Word index. - */ - void MttscSetPositionL( TInt aWordIndex ); - - /** - * Returns the style based on ID. - * - * @param "TTtsStyleID aStyleID" Style ID. - * @return Reference to style object. - */ - TTtsStyle& MttscStyleL( TTtsStyleID aStyleID ); - - /** - * Returns the style based on index. - * - * @param "TUint16 aIndex" Style index. - * @return Reference to style object. - */ - TTtsStyle& MttscStyleL( TUint16 aIndex ); - - /** - * Sets the default style parameters for synthesis. - * - * @param "const TTtsStyle& aStyle" Style created by the client - */ - void MttscSetDefaultStyleL( const TTtsStyle& aStyle ); - - /** - * Returns the registered default style - * - * @return Style reference - * @leave KErrNotReady if no plugin is loaded to handle the function call - */ - TTtsStyle& MttscDefaultStyleL(); - - /** - * Sets the speaking rate of synthesizer. - * - * @param TInt aRate Speaking rate value - * @leave KErrNotSupported if synthesizer does not support speaking rate setting - */ - void MttscSetSpeakingRateL( TInt aRate ); - - /** - * Returns the current speaking rate value. - * - * @return Speaking rate value - * @leave KErrNotSupported if synthesizer does not support speaking rate setting - * @leave KErrNotReady if no plugin is loaded to handle the function call - */ - TInt MttscSpeakingRateL(); - - /** - * Returns the list of supported languages. - * - * @param "RArray& aLanguages" Output parameter which contains - * the languages - * @leave KErrNotReady if no plugin is loaded to handle the function call - */ - void MttscGetSupportedLanguagesL( RArray& aLanguages ); - - /** - * Returns the list of supported voices for a certain language. - * - * @param "TLanguage aLanguage" Language - * @param "RArray& aVoices" Output parameter which contains the voices - * @leave KErrNotReady if no plugin is loaded to handle the function call - */ - void MttscGetSupportedVoicesL( TLanguage aLanguage, RArray& aVoices ); - - public: // Functions from MDevTTSObserver - - /** - * Invoked by DevTTS when it needs a configuration data package. - * TODO: Add start and endpoint parameters. - * - * @param "TUint32 aPackageType" - * Packege type identifier - * @param "TUint32 aPackageID" - * Package identifier - * - * @return Pointer to created data buffer. NULL if failure. User must - * take care of the buffer deletion after usage. - */ - HBufC8* MdtoConfigurationData( TUint32 aPackageType, - TUint32 aPackageID, - TUint32 aStartPosition, - TUint32 aEndPosition ); - - /** - * Called by DevTTS when an event occured. EDevTTSEventComplete is the only - * event that can happen currently. - * - * @param "TDevTTSEvent aEvent" - * Event code - * @param "TInt aStatus" - * Error code. KErrNone if success, one of the system level - * error codes otherwise. - */ - void MdtoEvent( TDevTTSEvent aEvent, TInt aStatus ); - - /** - * Called by DevTTS device when output mode is EDevTTSClientMode and a - * new audio buffer has been filled by the synthesizer. - * - * @param "TDesC8& aBuffer" - * Synthesized audio buffer. - */ - void MdtoProcessBuffer( const TDesC8& aBuffer ); - - protected: - /** - * CActive::RunL - */ - void RunL(); - - /** - * CActive::DoCancel() - */ - void DoCancel(); - - /** - * Handles play asynchrnously - */ - void HandlePlay(); - - /** - * Activates this active object. - */ - void Ready(); - - private: - - /** - * C++ default constructor. - */ - CTtsControllerPluginBody( CTtsControllerPlugin* aObserver ); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - // Prohibit copy constructor. - CTtsControllerPluginBody( const CTtsControllerPluginBody& ); - // Prohibit assigment operator. - CTtsControllerPluginBody& operator=( const CTtsControllerPluginBody& ); - - /** - * Copies descriptor to parsed text with default style. - */ - void ConstructParsedTextL( TDes8& aBufferPtr ); - - /** - * Copies parsed text structure to iParsedTextPointer. - * Deletes previous if exists - */ - void CopyParsedTextL( CTtsParsedText& aText ); - - /** - * Does priming from AddDataSource - */ - void DoEarlyPrimingL(); - - private: // Data - - // TTP data loader, owned - CTTSDataLoader* iTtsLoader; - - // Pointer to the DevTTS, owned - CDevTTS* iDevTts; - - // Pointer to 'opened' parsed text object, owned - CTtsParsedText* iParsedTextPointer; - - // Observer, not owned. - CTtsControllerPlugin* iObserver; - - // Requested asynchronous function. - TInt iRequestFunction; - - // Default style which will be used if no OpenParsedText is used - TTtsStyle iDefaultStyle; - - // Style ID of default style - TTtsStyleID iDefaultStyleID; - - // Tells if priming has been done already in AddDataSource - TBool iEarlyPrimingDone; - - // ETrue if MttscSetDefaultStyleL() called - TBool iUserSpecifiedDefaultStyle; - - // Output is currently either file or loudspeaker - TDevTTSOutputMode iTtsOutputMode; - - // File server session - RFs iFs; - - // Handle to the output file, not owned. - RFile* iOutputFile; - - // Drive number (according TDriveNumber) where file handle is pointing - TInt iOutFileDriveNumber; - - }; - -#endif // TTSPLUGINBODY_H - -// End of File -