35 lines
875 B
C++
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
|