A server class which implements the emailrelay administration interface. More...
#include <gadminserver.h>
Public Member Functions | |
| AdminServer (MessageStore &store, const GSmtp::Client::Config &client_config, const GAuth::Secrets &client_secrets, const GNet::MultiServer::AddressList &listening_addresses, bool allow_remote, const GNet::Address &local_address, const std::string &remote_address, unsigned int connection_timeout, const G::StringMap &extra_commands, bool with_terminate) | |
| Constructor. More... | |
| virtual | ~AdminServer () |
| Destructor. More... | |
| void | report () const |
| Generates helpful diagnostics. More... | |
| MessageStore & | store () |
| Returns a reference to the message store, as passed in to the constructor. More... | |
| const GAuth::Secrets & | secrets () const |
| Returns a reference to the secrets object, as passed in to the constructor. More... | |
| GSmtp::Client::Config | clientConfig () const |
| Returns the client configuration. More... | |
| unsigned int | connectionTimeout () const |
| Returns the connection timeout, as passed in to the constructor. More... | |
| void | notify (const std::string &s0, const std::string &s1, const std::string &s2) |
| Called when something happens which the admin user might be interested in. More... | |
| void | unregister (AdminServerPeer *) |
| Called from the AdminServerPeer destructor. More... | |
Public Member Functions inherited from GNet::MultiServer | |
| MultiServer (const AddressList &address_list, bool use_connection_lookup) | |
| Constructor. More... | |
| MultiServer () | |
| Default constructor. Initialise with init(). More... | |
| void | init (const AddressList &address_list) |
| Initilisation after default construction. More... | |
| virtual | ~MultiServer () |
| Destructor. More... | |
| std::pair< bool, Address > | firstAddress () const |
| Returns the first listening address. More... | |
Protected Member Functions | |
| virtual GNet::ServerPeer * | newPeer (GNet::Server::PeerInfo) |
| Final override from GNet::MultiServer. More... | |
Protected Member Functions inherited from GNet::MultiServer | |
| void | serverCleanup () |
| Should be called from all derived classes' destructors so that peer objects can use their Server objects safely during their own destruction. More... | |
| void | serverReport (const std::string &server_type) const |
| Writes to the system log a summary of the underlying server objects and their addresses. More... | |
Additional Inherited Members | |
Public Types inherited from GNet::MultiServer | |
| typedef std::list< Address > | AddressList |
| typedef Server::PeerInfo | PeerInfo |
Static Public Member Functions inherited from GNet::MultiServer | |
| static bool | canBind (const AddressList &listening_address_list, bool do_throw) |
| Checks that the specified addresses can be bound. More... | |
| static AddressList | addressList (const Address &) |
| A trivial convenience fuction that returns the given addresses as a single-element list. More... | |
| static AddressList | addressList (const AddressList &, unsigned int port) |
| Returns the given list of addresses with the port set correctly. More... | |
| static AddressList | addressList (const G::Strings &, unsigned int port) |
| A convenience function that returns a list of listening addresses given a list of listening interfaces and a port number. More... | |
A server class which implements the emailrelay administration interface.
Definition at line 112 of file gadminserver.h.
| GSmtp::AdminServer::AdminServer | ( | MessageStore & | store, |
| const GSmtp::Client::Config & | client_config, | ||
| const GAuth::Secrets & | client_secrets, | ||
| const GNet::MultiServer::AddressList & | listening_addresses, | ||
| bool | allow_remote, | ||
| const GNet::Address & | local_address, | ||
| const std::string & | remote_address, | ||
| unsigned int | connection_timeout, | ||
| const G::StringMap & | extra_commands, | ||
| bool | with_terminate | ||
| ) |
Constructor.
The 'store' and 'client-secrets' references are kept.
Definition at line 299 of file gadminserver.cpp.
|
virtual |
Destructor.
Definition at line 316 of file gadminserver.cpp.
| GSmtp::Client::Config GSmtp::AdminServer::clientConfig | ( | ) | const |
Returns the client configuration.
Definition at line 382 of file gadminserver.cpp.
| unsigned int GSmtp::AdminServer::connectionTimeout | ( | ) | const |
Returns the connection timeout, as passed in to the constructor.
Definition at line 377 of file gadminserver.cpp.
|
protectedvirtual |
Final override from GNet::MultiServer.
Implements GNet::MultiServer.
Definition at line 322 of file gadminserver.cpp.
References G_WARNING, GNet::Local::isLocal(), and GNet::Server::PeerInfo::m_address.
| void GSmtp::AdminServer::notify | ( | const std::string & | s0, |
| const std::string & | s1, | ||
| const std::string & | s2 | ||
| ) |
Called when something happens which the admin user might be interested in.
Definition at line 350 of file gadminserver.cpp.
References G_DEBUG.
Referenced by Main::Admin::notify().
| void GSmtp::AdminServer::report | ( | ) | const |
Generates helpful diagnostics.
Definition at line 345 of file gadminserver.cpp.
Referenced by Main::Admin::report().
| const GAuth::Secrets & GSmtp::AdminServer::secrets | ( | ) | const |
Returns a reference to the secrets object, as passed in to the constructor.
Note that this is a "client-side" secrets file, used to authenticate ourselves with a remote server.
Definition at line 372 of file gadminserver.cpp.
| GSmtp::MessageStore & GSmtp::AdminServer::store | ( | ) |
Returns a reference to the message store, as passed in to the constructor.
Definition at line 367 of file gadminserver.cpp.
| void GSmtp::AdminServer::unregister | ( | AdminServerPeer * | peer | ) |
Called from the AdminServerPeer destructor.
Definition at line 359 of file gadminserver.cpp.
References G_DEBUG.
1.8.9.1