summaryrefslogtreecommitdiff
path: root/database.h
diff options
context:
space:
mode:
Diffstat (limited to 'database.h')
-rw-r--r--database.h73
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