- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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
41 class GSmtp::NetworkVerifier : public GSmtp::Verifier
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
55 virtual G::Signal2<std::string,VerifierStatus> & doneSignal() ;
57
58 virtual void reset() ;
60
61 private:
62 void clientEvent( std::string , std::string ) ;
63
64 private:
65 G::Signal2<std::string,VerifierStatus> m_done_signal ;
66 GNet::ResolverInfo m_resolver_info ;
67 unsigned int m_connection_timeout ;
68 unsigned int m_response_timeout ;
69 bool m_lazy ;
70 GNet::ClientPtr<RequestClient> m_client ;
71 std::string m_to ;
72 } ;
73
74 #endif
G::Signal2
Part of the slot/signal system.
Definition: gslot.h:286
GSmtp
SMTP and message-store classes.
GNet::Address
The Address class encapsulates an IP transport address.
Definition: gaddress.h:48
GSmtp::NetworkVerifier
A Verifier that talks to a remote verifier over the network.
Definition: gnetworkverifier.h:41
GSmtp::NetworkVerifier::reset
virtual void reset()
Final override from GSmtp::Verifier.
Definition: gnetworkverifier.cpp:120
GNet::ResolverInfo
A class that holds a host/service name pair and optionally the results of a name-to-address lookup...
Definition: gresolverinfo.h:48
GSmtp::NetworkVerifier::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)
Final override from GSmtp::Verifier.
Definition: gnetworkverifier.cpp:44
GSmtp::NetworkVerifier::doneSignal
virtual G::Signal2< std::string, VerifierStatus > & doneSignal()
Final override from GSmtp::Verifier.
Definition: gnetworkverifier.cpp:115
gverifier.h
GSmtp::Verifier
An asynchronous interface that verifies recipient 'to' addresses.
Definition: gverifier.h:44
GSmtp::NetworkVerifier::~NetworkVerifier
virtual ~NetworkVerifier()
Destructor.
Definition: gnetworkverifier.cpp:39
gclientptr.h
GNet::ClientPtr
A smart pointer class for GNet::HeapClient.
Definition: gclientptr.h:60
grequestclient.h
gsmtp.h
GSmtp::NetworkVerifier::NetworkVerifier
NetworkVerifier(const std::string &, unsigned int, unsigned int)
Constructor.
Definition: gnetworkverifier.cpp:28