- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

gverifierfactory_exec_enabled.cpp
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 // ===
17 //
18 // gverifierfactory_exec_enabled.cpp
19 //
20
21 #include "gdef.h"
22 #include "gsmtp.h"
23 #include "gfactoryparser.h"
24 #include "gexception.h"
25 #include "gverifierfactory.h"
26 #include "ginternalverifier.h"
27 #include "gexecutableverifier.h"
28 #include "gnetworkverifier.h"
29
30 std::string GSmtp::VerifierFactory::check( const std::string & address )
31 {
32 return FactoryParser::check( address , "net" ) ;
33 }
34
35 GSmtp::Verifier * GSmtp::VerifierFactory::newVerifier( const std::string & address , unsigned int timeout )
36 {
37 Pair p = FactoryParser::parse( address , "net" ) ;
38 if( p.first.empty() || p.first == "exit" )
39 {
40 return new InternalVerifier ;
41 }
42 else if( p.first == "net" )
43 {
44 return new NetworkVerifier( p.second , timeout , timeout ) ;
45 }
46 else
47 {
48 return new ExecutableVerifier( G::Executable(p.second) ) ;
49 }
50 }
51
GSmtp::ExecutableVerifier
A Verifier that runs an executable.
Definition: gexecutableverifier.h:39
GSmtp::InternalVerifier
The standard internal Verifier.
Definition: ginternalverifier.h:40
gnetworkverifier.h
gexecutableverifier.h
G::Executable
A structure representing an external program, holding a path and a set of arguments.
Definition: gexecutable.h:43
GSmtp::NetworkVerifier
A Verifier that talks to a remote verifier over the network.
Definition: gnetworkverifier.h:41
gfactoryparser.h
GSmtp::Verifier
An asynchronous interface that verifies recipient 'to' addresses.
Definition: gverifier.h:44
GSmtp::VerifierFactory::check
static std::string check(const std::string &address)
Checks an address.
Definition: gverifierfactory_exec_enabled.cpp:30
GSmtp::FactoryParser::parse
static std::pair< std::string, std::string > parse(const std::string &address, const std::string &)
Parses an identifier.
Definition: gfactoryparser.cpp:29
GSmtp::FactoryParser::check
static std::string check(const std::string &address, const std::string &)
Parses and checks an identifier.
Definition: gfactoryparser.cpp:59
ginternalverifier.h
gexception.h
gverifierfactory.h
gsmtp.h
GSmtp::VerifierFactory::newVerifier
static Verifier * newVerifier(const std::string &address, unsigned int timeout)
Returns a Verifier on the heap.
Definition: gverifierfactory_exec_enabled.cpp:35