gnetworkverifier.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_NETWORK_VERIFIER_H
22 #define G_SMTP_NETWORK_VERIFIER_H
23 
24 #include "gdef.h"
25 #include "gsmtp.h"
26 #include "gverifier.h"
27 #include "grequestclient.h"
28 #include "gclientptr.h"
29 #include <string>
30 
32 namespace GSmtp
33 {
34  class NetworkVerifier ;
35 }
36 
42 {
43 public:
44  NetworkVerifier( const std::string & , unsigned int , unsigned int ) ;
46 
47  virtual ~NetworkVerifier() ;
49 
50  virtual void verify( const std::string & rcpt_to_parameter ,
51  const std::string & mail_from_parameter , const GNet::Address & client_ip ,
52  const std::string & auth_mechanism , const std::string & auth_extra ) ;
54 
57 
58  virtual void reset() ;
60 
61 private:
62  void clientEvent( std::string , std::string ) ;
63 
64 private:
66  GNet::ResolverInfo m_resolver_info ;
67  unsigned int m_connection_timeout ;
68  unsigned int m_response_timeout ;
69  bool m_lazy ;
71  std::string m_to ;
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
A Verifier that talks to a remote verifier over the network.
virtual void reset()
Final override from GSmtp::Verifier.
A class that holds a host/service name pair and optionally the results of a name-to-address lookup...
Definition: gresolverinfo.h:48
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.
virtual G::Signal2< std::string, VerifierStatus > & doneSignal()
Final override from GSmtp::Verifier.
An asynchronous interface that verifies recipient 'to' addresses.
Definition: gverifier.h:44
virtual ~NetworkVerifier()
Destructor.
A smart pointer class for GNet::HeapClient.
Definition: gclientptr.h:60
NetworkVerifier(const std::string &, unsigned int, unsigned int)
Constructor.