E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

gfilterfactory.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 gfilterfactory.h
19 ///
20
21 #ifndef G_SMTP_FILTER_FACTORY_H
22 #define G_SMTP_FILTER_FACTORY_H
23
24 #include "gdef.h"
25 #include "gsmtp.h"
26 #include "gfilter.h"
27 #include "geventhandler.h"
28 #include <string>
29 #include <utility>
30
31 namespace GSmtp
32 {
33 class FilterFactory ;
34 }
35
36 /// \class GSmtp::FilterFactory
37 /// A factory for message processors.
38 ///
39 class GSmtp::FilterFactory
40 {
41 public:
42 static unique_ptr<Filter> newFilter( GNet::ExceptionHandler & ,
43 bool server_side , const std::string & identifier , unsigned int timeout ) ;
44 ///< Returns a Filter on the heap. The identifier
45 ///< is normally prefixed with a processor type, or it
46 ///< is the file system path of an exectuable.
47
48 static std::string check( const std::string & identifier ) ;
49 ///< Checks an identifier. Returns an empty string if okay,
50 ///< or a diagnostic reason string.
51
52 private:
53 typedef std::pair<std::string,std::string> Pair ;
54 FilterFactory() ; // not implemented
55 static Pair split( const std::string & ) ;
56 } ;
57
58 #endif
GSmtp
SMTP and message-store classes.
Definition: gadminserver.h:39
GNet::ExceptionHandler
An abstract interface for handling exceptions thrown out of event-loop callbacks (socket events...
Definition: gexceptionhandler.h:44
GSmtp::FilterFactory
A factory for message processors.
Definition: gfilterfactory.h:39
GSmtp::FilterFactory::newFilter
static unique_ptr< Filter > newFilter(GNet::ExceptionHandler &, bool server_side, const std::string &identifier, unsigned int timeout)
Returns a Filter on the heap.
Definition: gfilterfactory.cpp:37
GSmtp::FilterFactory::check
static std::string check(const std::string &identifier)
Checks an identifier.
Definition: gfilterfactory.cpp:32
geventhandler.h
gfilter.h
gsmtp.h