diff -r 000000000000 -r 5f000ab63145 phoneengine/PhoneCntFinder/ContactService/inc/tphcnttxttospeech.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/tphcnttxttospeech.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,96 @@ +/* +* Copyright (c) 2006 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: Constructs text to speech descriptor. +* +*/ + + +#ifndef TPHCNTTXTTOSPEECH_H +#define TPHCNTTXTTOSPEECH_H + +#include + +/** + * Constructs text to speech descriptor. + * Converts data from contact to text to speech descriptor. + * + * @lib PhoneCntFinder + * @since S60 v3.1 + */ +class TPhCntTxtToSpeech + { +public: + + /** + * Constructor. + * + * @since S60 v3.1 + * @param aFirstName First name from contact. + * @param aSecondName aSecondName from contact. + * @param aLastName Last name from contact. + * @param aCompanyName Company name from contact. + * @param aFirstNamePronunciation First name pronunciation from contact. + * @param aLastNamePronunciation Last name pronunciation from contact. + * @param aCompanyNamePronunciation Company name pronunciation from contact. + * @param aCurrentLanguage Current language in use. + */ + TPhCntTxtToSpeech( + const TDesC& aFirstName, + const TDesC& aSecondName, + const TDesC& aLastName, + const TDesC& aCompanyName, + const TDesC& aFirstNamePronunciation, + const TDesC& aLastNamePronunciation, + const TDesC& aCompanyNamePronunciation, + TLanguage aCurrentLanguage + ); + + /** + * Constructs txt to speech string from contact field data, + * given in constructor. + * + * @since S60 v3.1 + * @param aTxtToSpeech Creates instance of txt to speech. May be null. + */ + void GetTextToSpeechL( HBufC*& aTxtToSpeech ) const; + +private: + + HBufC* AllocAndTrimL( const TDesC& aText ) const; + + TBool SwapNameOrder() const; + + HBufC* GetTrimmedNameLC( + const TDesC& aWritenName, + const TDesC& aNamePronunciation ) const; + + TInt CalculateTxtToSpeechLength( const HBufC* const aComponent, const HBufC* const aComponent2 ) const; + +private: // data + + /** + * Contact field data. + * Not own. + */ + const TDesC& iFirstName; + const TDesC& iSecondName; + const TDesC& iLastName; + const TDesC& iCompanyName; + const TDesC& iFirstNamePronunciation; + const TDesC& iLastNamePronunciation; + const TDesC& iCompanyNamePronunciation; + TLanguage iCurrentLanguage; + }; + +#endif // TPHCNTTXTTOSPEECH_H