logsui/logscntfinder/inc/logspredictivetranslator.h
changeset 21 2f0af9ba7665
parent 17 90fe74753f71
--- 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 <QChar>
 #include <QList>
 
+
+
+class LogsCntToken 
+{
+public:
+    
+    const QString& text() const {return mText;}
+    const QString& translation() const {return mTranslatedText;}
+    
+protected:
+    
+    QString mText;
+    QString mTranslatedText;
+    
+};
+
+typedef QList<LogsCntToken> LogsCntTokenArray;
+
+class LogsCntTokenIterator : public QListIterator<LogsCntToken> 
+{
+public:            
+
+    inline LogsCntTokenIterator( LogsCntTokenArray& container )
+        : QListIterator<LogsCntToken>( 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: