summaryrefslogtreecommitdiff
path: root/database.h
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-09-19 19:23:28 +0200
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-09-19 19:23:28 +0200
commit95ead1f32fc3d02c11a58bf67be16f93c06c0682 (patch)
treec7512b9683c9eea9fcb3dd1c2069ac650dfc99d4 /database.h
parentd148a70e245eb7cc0d75d097e07ce2614b26eaef (diff)
Wrote database classes.
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