srsf/ttscommon/src/nssttscommon.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:29:17 +0100
branchRCL_3
changeset 23 e36f3802f733
parent 0 bf1d17376201
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  Common data types for TTS
*
*/



// INCLUDE FILES
#include "srsfbldvariant.hrh"
#include "ttscommonbody.h"
#include "nssttscommon.h"


// ============================ MEMBER FUNCTIONS ===============================
// ----------------------------   TTtsStyle      -------------------------------

// -----------------------------------------------------------------------------
// TTtsStyle::TTtsStyle
// C++ default constructor can NOT contain any code, that
// might leave.
// -----------------------------------------------------------------------------
//
EXPORT_C TTtsStyle::TTtsStyle() :
    iLanguage( KTtsUndefinedLanguage ),
	iVoice( KNullDesC ),
    iRate( KTtsRateUndefined ),
    iVolume( KTtsDefaultVolume ),
    iSamplingRate( KTtsRateUndefined ),
	iQuality( ETtsQualityUndefined ), 
    iDuration( KTtsUndefinedDuration ),
	iNlp( EFalse )
    {
    // nothing
    }


// ----------------------------   TTtsSegment    -------------------------------

// -----------------------------------------------------------------------------
// TTtsSegment::TTtsSegment
// C++ default constructor can NOT contain any code, that
// might leave.
// -----------------------------------------------------------------------------
//
EXPORT_C TTtsSegment::TTtsSegment( 
    const TTtsStyleID aStyleID, 
	const TDesC& aText, 
	const TDesC8& aPhonemeSequence, 
    const TTimeIntervalMicroSeconds32& aTrailingSilenceDuration ) :
    iStyleID( aStyleID ),
    iText( aText ),
    iPhonemeSequence( aPhonemeSequence ),
    iTrailingSilenceDuration( aTrailingSilenceDuration ),
    iIncludesStyle( EFalse )
    {
    // nothing
    }
        

// -----------------------------------------------------------------------------
// TTtsSegment::SetTrailingSilenceL
// Sets the duration of trailing silence
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void TTtsSegment::SetTrailingSilenceL( 
    const TTimeIntervalMicroSeconds32& aDuration )
    {
    iTrailingSilenceDuration = aDuration;
    }


// -----------------------------------------------------------------------------
// TTtsSegment::SetPhonemeSequencePtr
// Sets phoneme sequence pointer
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void TTtsSegment::SetPhonemeSequencePtr( 
    const TDesC8& aPhonemeSequence )
    {
    iPhonemeSequence.Set( aPhonemeSequence );
    }

// -----------------------------------------------------------------------------
// TTtsSegment::PhonemeSequencePtr
// Returns phoneme sequence pointer
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TDesC8& TTtsSegment::PhonemeSequencePtr() const
    {
    return iPhonemeSequence;
    }

// -----------------------------------------------------------------------------
// TTtsSegment::SetTextPtr
// Sets text pointer
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void TTtsSegment::SetTextPtr( 
    const TDesC& aText )
    {
    iText.Set( aText );
    }
// -----------------------------------------------------------------------------
// TTtsSegment::TrailingSilence
// Gets duration of trailing silence
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TTimeIntervalMicroSeconds32& TTtsSegment::TrailingSilence() const
    {
    return iTrailingSilenceDuration;
    }

// -----------------------------------------------------------------------------
// TTtsSegment::TextPtr
// Returns text pointer
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TDesC& TTtsSegment::TextPtr() const
    {
    return iText;
    }

// -----------------------------------------------------------------------------
// TTtsSegment::SetStyleID
// Sets style identifier
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void TTtsSegment::SetStyleID( 
    TTtsStyleID aStyleID )
    {
    iStyleID = aStyleID;
    }

// -----------------------------------------------------------------------------
// TTtsSegment::StyleID
// Returns style identifier
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C TTtsStyleID TTtsSegment::StyleID() const
    {
    return iStyleID;
    }

// -----------------------------------------------------------------------------
// TTtsSegment::SetStyle
// Sets the style object for this segment.
// -----------------------------------------------------------------------------
//
EXPORT_C void TTtsSegment::SetStyle( TTtsStyle& aStyle )
    {
    iStyle = aStyle;
    iIncludesStyle = ETrue;
    }
        
// -----------------------------------------------------------------------------
// TTtsSegment::StyleL
// Returns style object assigned to this segment.
// -----------------------------------------------------------------------------
//
EXPORT_C TTtsStyle& TTtsSegment::StyleL()
    {
    if ( !iIncludesStyle )
        {
        User::Leave( KErrNotFound );
        }
    return iStyle;
    }

// -----------------------------------------------------------------------------
// TTtsSegment::ResetStyle
// Resets style object, style id will be used instead.
// -----------------------------------------------------------------------------
//
EXPORT_C void TTtsSegment::ResetStyle()
    {
    iIncludesStyle = EFalse;
    }

// ----------------------------  CTtsParsedText  -------------------------------

// -----------------------------------------------------------------------------
// CTtsParsedText::CTtsParsedText
// C++ default constructor can NOT contain any code, that
// might leave.
// -----------------------------------------------------------------------------
//
CTtsParsedText::CTtsParsedText() :
    iBody( NULL ),
    iReserved( NULL )
    {
    // nothing
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::ConstructL
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CTtsParsedText::ConstructL(
    const TDesC& aText, 
    const TDesC8& aPhonemeSequence, 
    const TDesC& aPhonemeNotation )
    {
    iBody = CTtsParsedTextBody::NewL( aText, 
                                      aPhonemeSequence, 
                                      aPhonemeNotation );
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::NewL
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
EXPORT_C CTtsParsedText* CTtsParsedText::NewL(
    const TDesC& aText, 
    const TDesC8& aPhonemeSequence, 
    const TDesC& aPhonemeNotation )
    {
    CTtsParsedText* self = new( ELeave ) CTtsParsedText;
    
    CleanupStack::PushL( self );
    self->ConstructL( aText, 
                      aPhonemeSequence, 
                      aPhonemeNotation );
    CleanupStack::Pop();

    return self;
    }

    
// Destructor
EXPORT_C CTtsParsedText::~CTtsParsedText()
    {
    delete iBody;
    }


// -----------------------------------------------------------------------------
// CTtsParsedText::AddSegmentL
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void CTtsParsedText::AddSegmentL( 
    const TTtsSegment& aSegment,
    TInt aIndex )
    {
    iBody->AddSegmentL( aSegment, aIndex );
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::DeleteSegment
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void CTtsParsedText::DeleteSegmentL( 
    TInt aIndex )
    {
    iBody->DeleteSegmentL( aIndex );
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::IsValid
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C TInt CTtsParsedText::IsValid() const
    {
    return iBody->IsValid();
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::NumberOfSegments
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C TInt CTtsParsedText::NumberOfSegments() const
    {
    return iBody->NumberOfSegments();
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::PhonemeNotation
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TDesC& CTtsParsedText::PhonemeNotation() const
    {
    return iBody->PhonemeNotation();
    }
	
// -----------------------------------------------------------------------------
// CTtsParsedText::PhonemeSequence
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TDesC8& CTtsParsedText::PhonemeSequence() const
    {
    return iBody->PhonemeSequence();
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::SegmentL
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TTtsSegment& CTtsParsedText::SegmentL( 
    TInt aIndex ) const
    {
    return iBody->SegmentL( aIndex );
    }
	
// -----------------------------------------------------------------------------
// CTtsParsedText::SetPhonemeNotationL
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void CTtsParsedText::SetPhonemeNotationL( 
    const TDesC& aPhonemeNotation )
    {
    iBody->SetPhonemeNotationL( aPhonemeNotation );
    }

// -----------------------------------------------------------------------------
// CTtsParsedText::SetPhonemeSequenceL
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void CTtsParsedText::SetPhonemeSequenceL( 
    const TDesC8& aPhonemeSequence )
    {
    iBody->SetPhonemeSequenceL( aPhonemeSequence );
    }
	
// -----------------------------------------------------------------------------
// CTtsParsedText::SetTextL
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C void CTtsParsedText::SetTextL( 
    const TDesC& aText )
    {
    iBody->SetTextL( aText );
    }


// -----------------------------------------------------------------------------
// CTtsParsedText::Text
// Call corresponding function of CTtsParsedTextBody
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
EXPORT_C const TDesC& CTtsParsedText::Text() const
    {
    return iBody->Text();
    }

//  End of File