BARANTMail/BMAPOP3Session.h
2019-07-10 20:13:12 -07:00

35 lines
793 B
C++

#ifndef __BMAPOP3Session_h__
#define __BMAPOP3Session_h__
#include "BMASession.h"
#include "BMAPOP3Server.h"
///
/// BMAPOP3Session
///
/// Extends the session parameters for this BMATCPSocket derived object.
/// Extend the protocol() method in order to define the behavior and
/// protocol interaction for this socket which is a console session.
///
class BMAPOP3Session : public BMASession {
public:
BMAPOP3Session(BMAEPoll &ePoll, BMAPOP3Server &server);
~BMAPop3Session();
virtual void output(std::stringstream &out);
protected:
void protocol(char *data, int length) override;
private:
BMAConsoleServer &server;
enum Status {WELCOME, PROMPT, INPUT, PROCESS, DONE};
Status status = WELCOME;
void doCommand(std::string request);
};
#endif