/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* Intern.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: bchanot +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/31 15:40:42 by bchanot #+# #+# */ /* Updated: 2025/12/31 17:53:22 by bchanot ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef INTERN_HPP # define INTERN_HPP # include # include class AForm; #include "PresidentialPardonForm.hpp" #include "RobotomyRequestForm.hpp" #include "ShrubberyCreationForm.hpp" class Intern { public: Intern(); Intern( Intern const & src ); ~Intern(); Intern & operator=( Intern const & rhs ); class NotFoundException : public std::exception { public: virtual const char *what() const throw() { return ("Cannot find the given Form"); } }; AForm *makeForm(std::string const & name, std::string const & target); AForm *makePresidentialPardonForm(std::string const & target) const; AForm *makeRobotomyRequest(std::string const & target) const; AForm *makeShrubberyCreation(std::string const & target) const; private: }; std::ostream & operator<<( std::ostream & o, Intern const & i ); #endif /* ********************************************************** INTERN_H */