#ifndef RECIPEDATABASE_H #define RECIPEDATABASE_H #include "database.h" #include "model/recipe/recipe.h" #include "utils/fileutils.h" using namespace std; /** * @brief The RecipeDatabase class represents the precise database used for the recipe storage, and is specialized. */ class RecipeDatabase : public Database { public: RecipeDatabase(string filename); //Stores a full recipe in the database. bool storeRecipe(Recipe recipe); //SQL Helper methods. bool storeRecipeIngredient(RecipeIngredient ri, int recipeId); void storeIngredient(Ingredient ingredient); bool storeInstruction(Instruction instruction, int recipeId); bool storeImage(QImage image, int recipeId); bool storeTags(vector tags, int recipeId); Recipe retrieveRecipe(string name); vector retrieveRecipeIngredients(int recipeId); private: //Utility methods. void ensureTablesExist(); }; #endif // RECIPEDATABASE_H