diff options
Diffstat (limited to 'database.h')
-rw-r--r-- | database.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/database.h b/database.h new file mode 100644 index 0000000..55cd301 --- /dev/null +++ b/database.h @@ -0,0 +1,73 @@ +#ifndef DATABASE_H +#define DATABASE_H + +#include <QtCore> +#include <QtSql> + +class Artist { + private: + int _id; + QString _name; + + public: + typedef QSharedPointer<Artist> p; + static p get(int id); + + QString name(); + + QUrl url(); +}; + +class Album { + private: + int _id; + int _artist_id; + QString _name; + int _tracks; + + public: + typedef QSharedPointer<Album> p; + static p get(int id); + + QString name(); + Artist::p artist(); + int tracks(); + + QUrl url(); +}; + +class Track { + private: + int _id; + int _artist_id; + int _album_id; + QString _name; + int _length; + int _num; + QString _file_name; + int _file_index; + + public: + typedef QSharedPointer<Track> p; + static p get(int id); + + QString name(); + Artist::p artist(); + Album::p album(); + int length(); + int num(); + QString file_name(); + int file_index(); + + QUrl url(); +}; + +class Database { + private: + QSqlDatabase db; + + public: + Database(); +}; + +#endif |