34 lines
778 B
C++
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
|