summaryrefslogtreecommitdiff
path: root/src/database.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2022-04-30 21:12:44 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2022-05-26 18:41:21 +0200
commit0dea7c3dad15f397600458ae9a81af29e95752fa (patch)
treeb6b17f93f907e139274b967c02ac356b56422b20 /src/database.cc
parent0ae26aded59f09b969592c2e600dba176954c619 (diff)
Make 'super' database, encapsulating both the krecipes one and the gourmet one. Add small vignettes to the recipe list images to indicate from which soucre each item is coming from.
Diffstat (limited to 'src/database.cc')
-rw-r--r--src/database.cc56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/database.cc b/src/database.cc
index 207a114..e55cd2a 100644
--- a/src/database.cc
+++ b/src/database.cc
@@ -25,3 +25,59 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "database.h"
+
+#include "database_gourmet.h"
+#include "database_krecipes.h"
+
+#include <cassert>
+
+DatabaseGourmet db1("/mnt/atuin/docs/tine/Fritid/Mad/recipes.db");
+DatabaseKrecipes db2("/mnt/atuin/docs/tine/Fritid/Mad/krecipes.krecdb");
+
+Database::Database()
+{
+}
+
+Database::~Database()
+{
+}
+
+int Database::id() const
+{
+ return {};
+}
+
+std::deque<RecipeItem> Database::getRecipes()
+{
+ auto res1 = db1.getRecipes();
+ auto res2 = db2.getRecipes();
+
+ for(auto& res : res1)
+ {
+ res.id |= db1.id();
+ }
+
+ for(auto& res : res2)
+ {
+ res.id |= db2.id();
+ res1.push_back(res);
+ }
+
+ return res1;
+}
+
+Recipe Database::getRecipe(int id)
+{
+ if((id & db1.id()) == db1.id())
+ {
+ return db1.getRecipe(id & (~db1.id()));
+ }
+
+ if((id & db2.id()) == db2.id())
+ {
+ return db2.getRecipe(id & (~db2.id()));
+ }
+
+ assert(false); // we looked up an id, but it wasn't in any of the databases? this shouldn't happen...
+ return {};
+}