store room map in database
[toast/confclerk.git] / src / mvc / room.h
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  *
4  * This file is part of fosdem-schedule.
5  *
6  * fosdem-schedule is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by the Free
8  * Software Foundation, either version 2 of the License, or (at your option)
9  * any later version.
10  *
11  * fosdem-schedule is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * fosdem-schedule.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef ROOM_H_
21 #define ROOM_H_
22
23 #include <ormrecord.h>
24
25 class Room : public OrmRecord<Room>
26 {
27 public:
28     static const QSqlRecord sColumns;
29     static QString const sTableName;
30     static const int sTableColCount;
31     static const QString NAME;
32 public:
33     int id() const { return value("id").toInt(); }
34     void setId(int id) { setValue("id", id); }
35     QString name() const { return value("name").toString(); }
36     void setName(const QString & type) { setValue("name", type); }
37     // TODO: make naming consistent - either "picture" or "map"
38      QVariant map() const { return value("picture"); }
39     int insert();
40 public:
41     static QList<Room> getAll();
42     static Room retrieve(int id);
43     static QString retrieveRoomName(int id);
44     static Room retrieveByName(QString name);
45 };
46
47 #endif /* ROOM_H_ */