From 795ce080433d6244f4c5c581df2cfa62fe02a36c Mon Sep 17 00:00:00 2001 From: emeric Date: Fri, 15 Apr 2016 23:44:25 +0200 Subject: [PATCH] [DB] Some code refactoring. Added missing new file --- src/database/Classification.hpp | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/database/Classification.hpp diff --git a/src/database/Classification.hpp b/src/database/Classification.hpp new file mode 100644 index 00000000..3cedd4fe --- /dev/null +++ b/src/database/Classification.hpp @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2016 Emeric Poupon + * + * This file is part of LMS. + * + * LMS is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * LMS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with LMS. If not, see . + */ + +#pragma once + +#include + +namespace Database { + +class Track; + +class ClassificationData +{ + public: + typedef Wt::Dbo::ptr pointer; + + ClassificationData() {} + + template + void persist(Action& a) + { + Wt::Dbo::field(a, _type, "type"); + Wt::Dbo::field(a, _value, "value"); + Wt::Dbo::belongsTo(a, _track, "track", Wt::Dbo::OnDeleteCascade); + } + + private: + std::string _type; + std::string _value; + + Wt::Dbo::ptr _track; +}; + +class Classification +{ + public: + typedef Wt::Dbo::ptr pointer; + + Classification() {} + + template + void persist(Action& a) + { + Wt::Dbo::field(a, _type, "type"); + Wt::Dbo::field(a, _value, "value"); + Wt::Dbo::belongsTo(a, _track, "track", Wt::Dbo::OnDeleteCascade); + } + + private: + + std::string _type; + int _value; + + Wt::Dbo::ptr _track; +}; + +} // namespace Database +