#ifndef LOCATIONREQUIREDPOLICY_H #define LOCATIONREQUIREDPOLICY_H #include #include "policy.h" class Location; class LocationRequiredPolicy : public Policy { public: explicit LocationRequiredPolicy(const std::string& satisfaction, const std::string& dissatisfaction); virtual ~LocationRequiredPolicy() override; virtual Policy::CheckResult check(const std::shared_ptr& actor) const override; void setRequiredLocation(const std::shared_ptr& location); private: std::shared_ptr _location; }; #endif // LOCATIONREQUIREDPOLICY_H