]> git.sur5r.net Git - minitube/blobdiff - src/suggester.h
Upload 3.9.3-2 to unstable
[minitube] / src / suggester.h
index e14492f1320ff11ecefa6720033d064d563a12a3..d5293c39ea510fc1f0c2b835c5ba218842abe0bf 100644 (file)
@@ -21,19 +21,50 @@ $END_LICENSE */
 #ifndef SUGGESTER_H
 #define SUGGESTER_H
 
-#include <QtGui>
+#include <QtCore>
+
+class Suggestion {
+
+public:
+    Suggestion(QString value = QString(),
+               QString type = QString(),
+               QString userData = QString()) :
+        value(value), type(type), userData(userData) { }
+    QString value;
+    QString type;
+    QString userData;
+
+    bool operator==(const Suggestion &other) const {
+        return (value == other.value) && (type == other.type);
+    }
+
+    bool operator!=(const Suggestion &other) const {
+        return !(*this == other);
+    }
+
+    bool operator==(Suggestion *other) const {
+        qDebug() << "Comparing" << this << other;
+        return (value == other->value) && (type == other->type);
+    }
+
+    bool operator!=(Suggestion *other) const {
+        return !(this == other);
+    }
+
+};
 
 class Suggester : public QObject {
 
     Q_OBJECT
 
 public:
-    Suggester(QObject *parent = 0) : QObject(parent) { }
-    virtual void suggest(QString query) = 0;
+    Suggester(QObject *parent) : QObject(parent) { }
+    virtual void suggest(const QString &query) = 0;
 
 signals:
-    void ready(QStringList);
+    void ready(const QVector<Suggestion*> &suggestions);
 
 };
 
 #endif // SUGGESTER_H
+