74 Run(
Output & output ,
const G::Arg & arg ,
const std::string & switch_spec ) ;
109 void operator=(
const Run & ) ;
115 void closeMoreFiles() ;
116 std::string smtpIdent()
const ;
119 void forwardingClientDone( std::string ,
bool ) ;
120 void pollingClientDone( std::string ,
bool ) ;
121 void clientEvent( std::string , std::string ) ;
122 void serverEvent( std::string , std::string ) ;
123 void raiseStoreEvent(
bool ) ;
124 void raiseNetworkEvent( std::string , std::string ) ;
125 void emit(
const std::string & ,
const std::string & ,
const std::string & ) ;
126 void onPollTimeout() ;
127 void onForwardingTimeout() ;
128 void doForwarding(
const std::string & ) ;
129 std::string doForwardingCore() ;
130 void checkPorts()
const ;
131 static void checkPort(
bool ,
const std::string & ,
unsigned int ) ;
134 static GNet::Address clientBindAddress(
const std::string & ) ;
136 void checkScripts()
const ;
137 void checkVerifierScript(
const std::string & )
const ;
138 void checkProcessorScript(
const std::string & )
const ;
139 std::string versionString()
const ;
140 static std::string capabilities() ;
144 std::string m_switch_spec ;
145 std::auto_ptr<G::LogOutput> m_log_output ;
146 std::auto_ptr<CommandLine> m_cl ;
147 std::auto_ptr<Configuration> m_cfg ;
150 std::auto_ptr<GSmtp::FileStore> m_store ;
151 std::auto_ptr<GAuth::Secrets> m_client_secrets ;
152 std::auto_ptr<GPop::Secrets> m_pop_secrets ;
153 std::auto_ptr<GSmtp::AdminServer> m_admin_server ;
154 std::auto_ptr<GSmtp::Server> m_smtp_server ;
155 std::auto_ptr<GNet::Timer<Run> > m_poll_timer ;
156 std::auto_ptr<GNet::Timer<Run> > m_forwarding_timer ;
159 bool m_prepare_error ;
Application-level classes.
bool prepare()
Prepares to run() typically by parsing the commandline.
A simple interface to a store of secrets as used in authentication.
void run()
Runs the application.
Run(Output &output, const G::Arg &arg, const std::string &switch_spec)
Constructor. Tries not to throw.
const Configuration & config() const
Returns a configuration object.
An abstract base class for a singleton that keeps track of open sockets and their associated handlers...
The Address class encapsulates an IP transport address.
bool hidden() const
Returns true if the program should run in hidden mode.
A class that holds a host/service name pair and optionally the results of a name-to-address lookup...
A structure containing GPop::Server configuration parameters.
An abstract interface for generating output on a command-line or a GUI.
A structure containing GSmtp::Server configuration parameters.
virtual ~Run()
Destructor.
A class which allows SMTP messages (envelope+content) to be stored and retrieved. ...
A simple interface to a store of secrets as used in authentication.
bool prepareError() const
Returns true if prepare() failed.
A class which deals with the command-line interface to the process, both input and output...
A base class for classes that handle asynchronous socket events.
A top-level class for the process.
A structure containing GSmtp::Client configuration parameters.
virtual void onException(std::exception &)
Final override from GNet::EventHandler.
static std::string versionNumber()
Returns the application version number string.
A class which holds a represention of the argc/argv command line array, and supports simple command-l...
A class for creating pid files.
G::Signal3< std::string, std::string, std::string > & signal()
Provides a signal which is activated when something changes.
An interface for returning application configuration information.