diff -r acd4e87b24b4 -r 2f0af9ba7665 logsui/logscntfinder/inc/logspredictivetranslator.h --- a/logsui/logscntfinder/inc/logspredictivetranslator.h Fri Sep 17 16:47:32 2010 +0300 +++ b/logsui/logscntfinder/inc/logspredictivetranslator.h Fri Oct 15 14:47:48 2010 +0300 @@ -22,9 +22,45 @@ #include #include + + +class LogsCntToken +{ +public: + + const QString& text() const {return mText;} + const QString& translation() const {return mTranslatedText;} + +protected: + + QString mText; + QString mTranslatedText; + +}; + +typedef QList LogsCntTokenArray; + +class LogsCntTokenIterator : public QListIterator +{ +public: + + inline LogsCntTokenIterator( LogsCntTokenArray& container ) + : QListIterator( container ), mCount( container.count() ) {} + inline int count() const {return mCount;} + +private: + + int mCount; + +}; + + class HbKeymap; class HbInputLanguage; + + + /** * predictive translator. Singelton * @@ -36,26 +72,32 @@ static LogsPredictiveTranslator* instance(); static void deleteInstance(); + static HbInputLanguage currentLanguage(); ~LogsPredictiveTranslator(); - const QString translatePattern( const QString& pattern ) const; + virtual const QString preparePattern( const QString& pattern ) const; const QString translateText( const QString& text ); public: //abstracts - virtual QStringList nameTokens( const QString& name ) const = 0; + virtual bool match( const QString& pattern, + LogsCntTokenIterator& names ) const = 0; + virtual QStringList patternTokens( const QString& pattern ) const = 0; virtual QString& trimPattern( QString& pattern, bool tailOnly = false ) const = 0; + virtual QStringList nameTokens( const QString& name ) const = 0; virtual int hasPatternSeparators( const QString& pattern ) const = 0; - virtual const QChar translateChar( const QChar character, bool& ok ) const = 0; virtual int mib() const = 0; protected: + virtual const QString translateChar( const QChar character, bool& ok ) const = 0; + explicit LogsPredictiveTranslator( const HbInputLanguage& lang ); bool encodes( const QString& sniplet ); const QString translate( const QString& text, bool* ok = 0, int count = -1 ) const; + inline virtual void* keyMap() const { return (void*)mKeyMap; } private: