lunch-rest/menu.hpp

35 lines
875 B
C++

#ifndef LUNCH_REST_MENU_H
#define LUNCH_REST_MENU_H
#include "meal.hpp"
#include <string>
#include <vector>
namespace LunchRest {
class Menu {
public:
Menu() = default;
Menu(const std::vector<Meal> &meals) :
_meals(meals) {}
void addMeal(bool soup, const std::string &name, const std::string &desc, int price);
void addMeal(const Meal &meal);
bool hasSoup() const;
Meal getSoup() const;
std::vector<Meal> getNonSoupMeals();
const std::vector<Meal> &getMeals() const;
unsigned long int getSoupIndex() const;
void setInvalidMenu( bool invalid = true );
bool isValid() const;
std::string jsonify() const;
void setDay(const std::string &day);
const std::string &getDay() const;
private:
std::vector<Meal> _meals;
bool _valid = true;
std::string _day = "";
};
} // end of namespace LunchRest
#endif