/////////////////////////////////////////////////////////// ///////////////// Have an itch? Scratch it! /////////////// ///////////////////////// SCRATCH ///////////////////////// ///////////////////// A MUD Server //////////////////// ///////////////////// By: Jared Devall //////////////////// ///////////////////// Thanks: //////////////////// ///////////////////// DIKU/Merc/ROM //////////////////// ///////////////////// Aetas/Deus Gang //////////////////// ///////////////////// Beej //////////////////// /////////////////////////////////////////////////////////// #ifndef __HANDLER_H_ #define __HANDLER_H_ // Includes #include <string> // Forwards class Avatar; //! Handles Account input and prompts. class Handler { public: virtual ~Handler( ) { } virtual void Enter( Avatar * ) = 0; virtual void Exit( Avatar * ) = 0; virtual void Handle( Avatar *, const std::string & ) = 0; virtual std::string Prompt( Avatar * ) = 0; }; #define DEF_HANDLER(HandlerName) \ class HandlerName: public Handler { \ public: \ void Enter( Avatar * ); \ void Exit( Avatar * ); \ void Handle( Avatar *, const std::string & ); \ std::string Prompt( Avatar * ); \ } DEF_HANDLER(GetNameHandler); DEF_HANDLER(InputHandler); DEF_HANDLER(CheckNameHandler); DEF_HANDLER(GetPasswordHandler); //DEF_HANDLER(EditHelpHandler); //DEF_HANDLER(EditAvatarHandler); /*DEF_HANDLER(accountHandler); DEF_HANDLER(inputHandler); DEF_HANDLER(deleteHandler); DEF_HANDLER(charCreateHandler); DEF_HANDLER(ccNameHandler); DEF_HANDLER(ccSurnHandler); DEF_HANDLER(ccTooHandler); DEF_HANDLER(ccSomethingHandler);*/ #endif