E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

gverifier.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2001-2018 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 // ===
17 ///
18 /// \file gverifier.h
19 ///
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
32 namespace GSmtp
33 {
34 class Verifier ;
35 }
36
37 /// \class GSmtp::Verifier
38 /// An asynchronous interface that verifies recipient 'to' addresses.
39 /// This is used in the VRFY and RCPT commands in the smtp server
40 /// protocol.
41 /// \see GSmtp::ServerProtocol
42 ///
43 class GSmtp::Verifier
44 {
45 public:
46 virtual void verify( const std::string & rcpt_to_parameter ,
47 const std::string & mail_from_parameter , const GNet::Address & client_ip ,
48 const std::string & auth_mechanism , const std::string & auth_extra ) = 0 ;
49 ///< Checks a recipient address and asynchronously returns a
50 ///< structure to indicate whether the address is a local
51 ///< mailbox, what the full name is, and the canonical address.
52 ///<
53 ///< The 'mail-from' address is passed in for RCPT commands, but
54 ///< not VRFY.
55
56 virtual G::Slot::Signal2<std::string,VerifierStatus> & doneSignal() = 0 ;
57 ///< Returns a signal that is emit()ed when the verify() request
58 ///< is complete. The first signal parameter is the mailbox
59 ///< name (ie. rcpt_to_parameter).
60
61 virtual void cancel() = 0 ;
62 ///< Aborts any current processing.
63
64 virtual ~Verifier() ;
65 ///< Destructor.
66
67 private:
68 void operator=( const Verifier & ) ;
69 } ;
70
71 #endif
GSmtp
SMTP and message-store classes.
Definition: gadminserver.h:39
G::Slot::Signal2
A signal class for two-parameter callbacks.
Definition: gslot.h:337
GSmtp::Verifier::doneSignal
virtual G::Slot::Signal2< std::string, VerifierStatus > & doneSignal()=0
Returns a signal that is emit()ed when the verify() request is complete.
gverifierstatus.h
GNet::Address
The GNet::Address class encapsulates a TCP/UDP transport address.
Definition: gaddress.h:54
GSmtp::Verifier::cancel
virtual void cancel()=0
Aborts any current processing.
gslot.h
GSmtp::Verifier
An asynchronous interface that verifies recipient 'to' addresses.
Definition: gverifier.h:43
GSmtp::Verifier::verify
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 ...
gexception.h
gsmtp.h
gaddress.h
GSmtp::Verifier::~Verifier
virtual ~Verifier()
Destructor.
Definition: gverifier.cpp:25