gverifier.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_VERIFIER_H
22 #define G_SMTP_VERIFIER_H
23 
24 #include "gdef.h"
25 #include "gsmtp.h"
26 #include "gverifierstatus.h"
27 #include "gaddress.h"
28 #include "gslot.h"
29 #include "gexception.h"
30 #include <string>
31 
33 namespace GSmtp
34 {
35  class Verifier ;
36 }
37 
45 {
46 public:
47  G_EXCEPTION( AbortRequest , "verifier abort request" ) ;
48 
49  virtual void verify( const std::string & rcpt_to_parameter ,
50  const std::string & mail_from_parameter , const GNet::Address & client_ip ,
51  const std::string & auth_mechanism , const std::string & auth_extra ) = 0 ;
61 
66 
67  virtual void reset() = 0 ;
69 
70  virtual ~Verifier() ;
72 } ;
73 
74 #endif
Part of the slot/signal system.
Definition: gslot.h:286
SMTP and message-store classes.
The Address class encapsulates an IP transport address.
Definition: gaddress.h:48
An asynchronous interface that verifies recipient 'to' addresses.
Definition: gverifier.h:44
virtual G::Signal2< std::string, VerifierStatus > & doneSignal()=0
Returns a signal that is emit()ed when the verify() request is complete.
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)=0
Checks a recipient address and asynchronously returns a structure to indicate whether the address is ...
virtual void reset()=0
Aborts any current processing.
#define G_EXCEPTION(class_name, description)
define as a function rather than a type if optimising for size
Definition: gexception.h:93
virtual ~Verifier()
Destructor.
Definition: gverifier.cpp:25