// Proxy.h #pragma once #include #include "SocketInterface.h" #define SMTP_STATE_WAIT_FOR_HELO 0 #define SMTP_STATE_WAIT_FOR_MAILFROM 1 #define SMTP_STATE_WAIT_FOR_RCPTTO 2 #define SMTP_STATE_WAIT_FOR_DATA 3 class Proxy { public: Proxy(SocketInterface* outside_socket) : outside(outside_socket) {} void run(std::string& peer_address); private: SocketInterface* outside; };