#ifndef BASEEXTERNALTRACKMODEL_H #define BASEEXTERNALTRACKMODEL_H #include #include #include #include "library/trackmodel.h" #include "library/basesqltablemodel.h" class TrackCollection; class BaseExternalTrackModel : public BaseSqlTableModel { Q_OBJECT public: BaseExternalTrackModel(QObject* parent, TrackCollectionManager* pTrackCollectionManager, const char* settingsNamespace, const QString& trackTable, QSharedPointer trackSource); ~BaseExternalTrackModel() override; Capabilities getCapabilities() const override; TrackId getTrackId(const QModelIndex& index) const override; TrackPointer getTrack(const QModelIndex& index) const override; bool isColumnInternal(int column) override; Qt::ItemFlags flags(const QModelIndex &index) const override; private: TrackId doGetTrackId(const TrackPointer& pTrack) const override; }; #endif /* BASEEXTERNALTRACKMODEL_H */