Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/library/dao/cratedao.h

Go to the documentation of this file.
00001 // cratedao.h
00002 // Created 10/22/2009 by RJ Ryan (rryan@mit.edu)
00003 
00004 #ifndef CRATEDAO_H
00005 #define CRATEDAO_H
00006 
00007 #include <QObject>
00008 #include <QSqlDatabase>
00009 
00010 #include "library/dao/dao.h"
00011 #include "util.h"
00012 
00013 #define CRATE_TABLE "crates"
00014 #define CRATE_TRACKS_TABLE "crate_tracks"
00015 
00016 const QString CRATETRACKSTABLE_TRACKID = "track_id";
00017 const QString CRATETRACKSTABLE_CRATEID = "crate_id";
00018 
00019 class CrateDAO : public QObject, public virtual DAO {
00020     Q_OBJECT
00021   public:
00022     CrateDAO(QSqlDatabase& database);
00023     virtual ~CrateDAO();
00024 
00025     void setDatabase(QSqlDatabase& database) { m_database = database; };
00026 
00027     // Initialize this DAO, create the tables it relies on, etc.
00028     void initialize();
00029 
00030     unsigned int crateCount();
00031     bool createCrate(const QString& name);
00032     bool deleteCrate(int crateId);
00033     bool renameCrate(int crateId, const QString& newName);
00034     bool setCrateLocked(int crateId, bool locked);
00035     bool isCrateLocked(int crateId);
00036     int getCrateIdByName(const QString& name);
00037     int getCrateId(int position);
00038     QString crateName(int crateId);
00039     unsigned int crateSize(int crateId);
00040     bool addTrackToCrate(int trackId, int crateId);
00041     void removeTrackFromCrates(int trackId);
00042     bool removeTrackFromCrate(int trackId, int crateId);
00043 
00044   signals:
00045     void added(int crateId);
00046     void deleted(int crateId);
00047     void changed(int crateId);
00048     void trackAdded(int crateId, int trackId);
00049     void trackRemoved(int crateId, int trackId);
00050 
00051   private:
00052     QSqlDatabase& m_database;
00053     DISALLOW_COPY_AND_ASSIGN(CrateDAO);
00054 };
00055 
00056 #endif /* CRATEDAO_H */
00057 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines