X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodels%2Femufrontquerymodel.h;h=216615c14aaff19dfa486e86e8eb3f081a1a63dc;hb=HEAD;hp=ca64d270bc0500ccbddb5f10a471512e207625fb;hpb=6643f19481801ff05ae13768934d2093235886a7;p=emufront diff --git a/src/models/emufrontquerymodel.h b/src/models/emufrontquerymodel.h index ca64d27..216615c 100644 --- a/src/models/emufrontquerymodel.h +++ b/src/models/emufrontquerymodel.h @@ -17,27 +17,42 @@ ** ** You should have received a copy of the GNU General Public License ** along with EmuFront. If not, see . -*/#ifndef EMUFRONTQUERYMODEL_H +*/ + +#ifndef EMUFRONTQUERYMODEL_H #define EMUFRONTQUERYMODEL_H #include class EmuFrontObject; +class Platform; +class MediaType; class EmuFrontQueryModel : public QSqlQueryModel { Q_OBJECT + public: EmuFrontQueryModel(QObject *parent = 0); - EmuFrontObject* getObject(int id) const; - -signals: - -public slots: + EmuFrontObject* getDataObject(int id); + EmuFrontObject* getDataObject(const QModelIndex &index); + EmuFrontObject* getObject(int row); + static int getCurrentTimeStamp(); protected: QString tableName; QList editableColumns; + void filterDataObjects(QList filter); + QString constructWhereByFilters(QList filters); + EmuFrontObject* getDataObject(QString filter); + virtual void filterById(int id); + void clearFilters(); + virtual EmuFrontObject* recordToDataObject(const QSqlRecord* ) = 0; + virtual QString constructFilterById(int id) const = 0; + virtual QString constructSelect(QString whereClause = "") const = 0; + +private: + EmuFrontObject* getFilteredDataObject(); }; #endif // EMUFRONTQUERYMODEL_H