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

34 lines
778 B
C++

#ifndef __BMASMTPSession_h__
#define __BMASMTPSession_h__
#include "BMASession.h"
///
/// BMAConsoleSession
///
/// 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 BMASMTPSession : public BMASession {
public:
BMAConsoleSession(BMAEPoll &ePoll, BMAConsoleServer &server);
~BMAConsoleSession();
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