E-MailRelay

gpop.h
Go to the documentation of this file.
1//
2// Copyright (C) 2001-2024 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 gpop.h
19///
20
21#ifndef G_POP_H
22#define G_POP_H
23
24#include "gdef.h"
25#include "gpopstore.h"
26#include "gpopserver.h"
27#include "gsecrets.h"
28#include "geventstate.h"
29#include "gpath.h"
30#include <memory>
31
32 namespace GPop
33{
34 bool enabled() noexcept ;
35 ///< Returns true if pop code is built in.
36
37 std::unique_ptr<Store> newStore( const G::Path & spool_dir , const Store::Config & ) ;
38 ///< Creates a new Pop::Store.
39
40 std::unique_ptr<GAuth::SaslServerSecrets> newSecrets( const std::string & path ) ;
41 ///< Creates a new SaslServerSecrets for newStore().
42
43 std::unique_ptr<Server> newServer( GNet::EventState , Store & ,
44 const GAuth::SaslServerSecrets & , const Server::Config & ) ;
45 ///< Creates a new server.
46
47 void report( const Server * , const std::string & group = {} ) ;
48 ///< Calls GPop::Server::report().
49}
50
51#endif
52
GAuth::SaslServerSecrets
An interface used by GAuth::SaslServer to obtain authentication secrets.
Definition: gsaslserversecrets.h:40
GNet::EventState
A lightweight object containing an ExceptionHandler pointer, optional ExceptionSource pointer and opt...
Definition: geventstate.h:131
GPop::Server
A POP server class.
Definition: gpopserver.h:86
GPop::Store
A message store.
Definition: gpopstore.h:47
G::Path
A Path object represents a file system path.
Definition: gpath.h:82
geventstate.h
gpath.h
gpopserver.h
gpopstore.h
gsecrets.h
GPop
POP3 classes.
Definition: gpop.h:33
GPop::newSecrets
std::unique_ptr< GAuth::SaslServerSecrets > newSecrets(const std::string &path)
Creates a new SaslServerSecrets for newStore().
Definition: gpop_disabled.cpp:35
GPop::newStore
std::unique_ptr< Store > newStore(const G::Path &spool_dir, const Store::Config &)
Creates a new Pop::Store.
Definition: gpop_disabled.cpp:30
GPop::newServer
std::unique_ptr< Server > newServer(GNet::EventState, Store &, const GAuth::SaslServerSecrets &, const Server::Config &)
Creates a new server.
Definition: gpop_disabled.cpp:40
GPop::enabled
bool enabled() noexcept
Returns true if pop code is built in.
Definition: gpop_disabled.cpp:25
GPop::report
void report(const Server *, const std::string &group={})
Calls GPop::Server::report().
Definition: gpop_disabled.cpp:46
GPop::Server::Config
A structure containing GPop::Server configuration parameters.
Definition: gpopserver.h:90
GPop::Store::Config
Configuration structure for GPop::Store.
Definition: gpopstore.h:51