21#ifndef G_SMTP_EXECUTABLE_FILTER_H
22#define G_SMTP_EXECUTABLE_FILTER_H
36 class ExecutableFilter ;
46 const std::string & path ,
unsigned int timeout ) ;
53 std::string id()
const override ;
54 bool simple()
const override ;
56 void start(
const MessageId & )
override ;
57 void cancel()
override ;
58 bool abandoned()
const override ;
59 std::string response()
const override ;
60 std::string reason()
const override ;
61 bool special()
const override ;
62 void onTaskDone(
int ,
const std::string & )
override ;
71 std::pair<std::string,std::string> parseOutput( std::string ,
const std::string & )
const ;
78 std::string m_prefix ;
81 unsigned int m_timeout ;
83 std::string m_response ;
84 std::string m_reason ;
A tuple containing an ExceptionHandler interface pointer and a bound 'exception source' pointer.
An abstract interface for callbacks from GNet::Task.
A class for running an exectuable in a separate process with an asychronous completion callback.
A timer class template in which the timeout is delivered to the specified method.
A Filter class that runs an external helper program.
ExecutableFilter(GNet::ExceptionSink, FileStore &, bool server_side, const std::string &path, unsigned int timeout)
Constructor.
~ExecutableFilter() override
Destructor.
A concrete implementation of the MessageStore interface dealing in paired flat files.
An interface for processing a message file through a filter.
A somewhat opaque identifer for a MessageStore message.
A Path object represents a file system path.
SMTP and message-store classes.
Interprets an executable filter's exit code.