gexecutableverifier.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2001-2013 Graeme Walker <graeme_walker@users.sourceforge.net>
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 // ===
20 
21 #ifndef G_SMTP_EXECUTABLE_VERIFIER_H
22 #define G_SMTP_EXECUTABLE_VERIFIER_H
23 
24 #include "gdef.h"
25 #include "gsmtp.h"
26 #include "gverifier.h"
27 #include "gexecutable.h"
28 #include <string>
29 
31 namespace GSmtp
32 {
33  class ExecutableVerifier ;
34 }
35 
40 {
41 public:
42  explicit ExecutableVerifier( const G::Executable & ) ;
44 
45  virtual void verify( const std::string & rcpt_to_parameter ,
46  const std::string & mail_from_parameter , const GNet::Address & client_ip ,
47  const std::string & auth_mechanism , const std::string & auth_extra ) ;
49 
52 
53  virtual void reset() ;
55 
56 private:
57  ExecutableVerifier( const ExecutableVerifier & ) ; // not implemented
58  void operator=( const ExecutableVerifier & ) ; // not implemented
59  VerifierStatus verifyExternal( const std::string & ,
60  const std::string & , const std::string & , const std::string & , const std::string & ,
61  const GNet::Address & , const std::string & , const std::string & ) const ;
62 
63 private:
64  G::Executable m_exe ;
66 } ;
67 
68 #endif
Part of the slot/signal system.
Definition: gslot.h:286
SMTP and message-store classes.
A Verifier that runs an executable.
virtual void verify(const std::string &rcpt_to_parameter, const std::string &mail_from_parameter, const GNet::Address &client_ip, const std::string &auth_mechanism, const std::string &auth_extra)
Final override from GSmtp::Verifier.
A structure representing an external program, holding a path and a set of arguments.
Definition: gexecutable.h:43
The Address class encapsulates an IP transport address.
Definition: gaddress.h:48
An asynchronous interface that verifies recipient 'to' addresses.
Definition: gverifier.h:44
ExecutableVerifier(const G::Executable &)
Constructor.
A structure returned by GSmtp::Verifier to describe the status of a rcpt-to recipient.
virtual void reset()
Final override from GSmtp::Verifier.
virtual G::Signal2< std::string, VerifierStatus > & doneSignal()
Final override from GSmtp::Verifier.