E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1 2 3]

►N G | Low-level classes
►N Slot | A typesafe callback library that isolates event sinks from event sources
C Signal0 | A signal class for zero-parameter callbacks
C Signal1 | A signal class for one-parameter callbacks
C Signal2 | A signal class for two-parameter callbacks
C Signal3 | A signal class for three-parameter callbacks
C Signal4 | A signal class for four-parameter callbacks
C SignalImp | A static helper class used by G::Slot signal classes
C Slot0 | A slot class for zero-parameter callbacks
C Slot1 | A slot class for one-parameter callbacks
C Slot2 | A slot class for two-parameter callbacks
C Slot3 | A slot class for three-parameter callbacks
C Slot4 | A slot class for four-parameter callbacks
C SlotCallback0 | Provides a function to down-cast from SlotImpBase to SlotImp0
C SlotCallback1 | Provides a function to down-cast from SlotImpBase to SlotImp1
C SlotCallback2 | Provides a function to down-cast from SlotImpBase to SlotImp2
C SlotCallback3 | Provides a function to down-cast from SlotImpBase to SlotImp3
C SlotCallback4 | Provides a function to down-cast from SlotImpBase to SlotImp3
C SlotImp0 | A slot implementation class for zero-parameter callbacks
C SlotImp1 | A slot implementation class for one-parameter callbacks
C SlotImp2 | A slot implementation class for two-parameter callbacks
C SlotImp3 | A slot implementation class for three-parameter callbacks
C SlotImp4 | A slot implementation class for four-parameter callbacks
C SlotImpBase | Used as a base class to all slot implementation classes (such as G::Slot::SlotImp1), allowing them to be used as bodies to the associated slot reference-counting handle class (eg
C Arg | A class which holds a represention of the argc/argv command line array, and supports simple command-line parsing
C Base64 | A base64 codec class
►C BatchFile | A class for reading and writing windows-style startup batch files containing a single command-line, optionally using "start"
C NoThrow | Overload discriminator for G::BatchFile
C Cleanup | A static interface for registering cleanup functions that are called when the process terminates abnormally
C CleanupImp | A pimple-pattern implementation class used by G::Cleanup
►C Convert | A static class which provides string encoding conversion functions
C ThrowOnError | Holds context information which convert() adds to the exception when it fails
C utf8 | A string wrapper that indicates UTF-8 encoding
C ConvertImp | A pimple-pattern implementation class for G::Convert
C Daemon | A static interface for daemonising the calling process
►C Date | A date (dd/mm/yyyy) class
C LocalTime | An overload discriminator class for Date constructors
C DateTime | A low-level static class used by Date and Time
C Directory | An encapsulation of a file system directory that allows for iterating through the set of contained files
C DirectoryIterator | A Directory iterator
C DirectoryIteratorImp | A pimple-pattern implementation class for DirectoryIterator using opendir()/readdir()
►C DirectoryList | A Directory iterator with the same kind of interface as G::DirectoryIterator, but doing all file i/o in one go
C Item | A directory-entry item for G::DirectoryList
C Environment | A static class to wrap getenv() and putenv()
C EpochTime | A subsecond-resolution timestamp based on a time_t
C Exception | A general-purpose exception class derived from std::exception and containing a std::string
C ExecutableCommand | A structure representing an external program, holding a path and a set of arguments
►C File | A simple static class for dealing with files
C NoThrow | An overload discriminator class for File methods
C GetOpt | A command line option parser
►C Hash | A class for creating HMACs using an arbitrary cryptographic hash function
C Masked | An overload discriminator for G::Hash::hmac()
C HashState | Helper functions for representing the state of a hash function as a non-printable string
C Identity | A combination of user-id and group-id, with a very low-level interface to the get/set/e/uid/gid functions
C IdentityUser | A convenience class which, when used as a private base, can improve readability when calling Identity 'set' methods
C limits | A scoping structure for a set of buffer sizes
►C Log | A class for doing iostream-based logging
C Line | A class for adding line number information to the Log output
C LogOutput | Controls and implements low-level logging output, as used by the Log interface
C MapFile | A class for reading and editing key=value files, supporting comments, creation of backup files, variable expansion and logging
►C Md5 | MD5 message digest class
C digest_state | Holds the four parts of the md5 state
C digest_stream_state | Holds the md5 state plus unprocessed residual data
C Msg | Wrappers for sendmsg() and recvmsg() that are near drop-in replacements for send()/sendto() and recv()/recvto(), but with SIGPIPE disabled and optional file-descriptor-passing capabilities
C NewProcess | A class for creating new processes
C NewProcessImp | A pimple-pattern implementation class used by G::NewProcess
C NewProcessWaitFuture | A class that holds the parameters and the results of a waitpid() system call
C noncopyable | A noncopyable base class (a la boost)
C OptionMap | A multimap-like container for command-line options and their values
C OptionParser | A parser for command-line arguments that operates according to an Options specification and returns an OptionValue multimap
C Options | A class to represent allowed command-line options and to provide command-line usage text
C OptionsLayout | Describes the layout for G::Options output
C OptionsLevel | Used by G::Options for extra type safety
C OptionValue | A simple structure encapsulating the value of a command-line option
►C Pam | A thin interface to the system PAM library, with two pure virtual methods that derived classes should implement: the converse() method supplies passwords etc
C Item | A structure used by G::Pam to hold conversation items
C PamError | An exception class used by G::Pam
C PamImp | A pimple-pattern implementation class for G::Pam
C Path | A Path object represents a file system path
C PathImp | A private implementation class used by G::Path providing a set of static methods
C PidFile | A class for creating pid files
C Pipe | A private implementation class used by G::NewProcess that wraps a unix pipe
►C Process | A static interface for doing things with processes
C IdImp | A private implementation class used by G::Process that wraps a process id and hides the pid_t type
C ReadWrite | An abstract interface for reading and writing from a non-blocking i/o channel
C Root | A class which acquires the process's special privileges on construction and releases them on destruction
C SignalSafe | An empty structure that is used to indicate a signal-safe, reentrant implementation
C StateMachine | A finite state machine class template
►C Str | A static class which provides string helper functions
C Limited | Overload discrimiator for G::Str::toUWhatever()
C StringMapReader | An adaptor for reading a const map<string,string> with at(key)
C Test | A static interface for enabling test features at run-time
C threading | Helper class for std::thread capabilities
►C Time | A simple time-of-day (hh/mm/ss) class
C LocalTime | An overload discriminator class for Time constructors
C Xtext | An xtext codec class, encoding space as "+20" etc
►N GAuth | SASL authentication classes
C Cram | Implements the standard challenge-response authentication mechanism of RFC-2195
C PamImp | A private implementation of the G::Pam interface used by GAuth::SaslServerPamImp, which is itself a private implementation class used by GAuth::SaslServerPam
►C SaslClient | A class that implements the client-side SASL challenge/response concept
C Response | Result structure returned from GAuth::SaslClient::response
C SaslClientImp | A private pimple-pattern implementation class used by GAuth::SaslClient
C SaslClientSecrets | An interface used by GAuth::SaslClient to obtain a client id and its authentication secret
C SaslServer | An interface for implementing the server-side SASL challenge/response concept
C SaslServerBasic | An implementation of the SaslServer interface that does not use pluggable modules
C SaslServerBasicImp | A private pimple-pattern implementation class used by GAuth::SaslServerBasic
C SaslServerFactory | Provides a factory function for SaslServer instances
C SaslServerPam | An implementation of the SaslServer interface using PAM as the authentication mechanism
C SaslServerPamImp | A private implementation class used by GAuth::SaslServerPam
C SaslServerSecrets | An interface used by GAuth::SaslServer to obtain authentication secrets
C Secret | Encapsulates a shared secret from the secrets file plus the associated userid
C Secrets | A simple interface for a store of secrets used in authentication
C SecretsFile | A class to read authentication secrets from file, used by GAuth::Secrets
C Valid | A trivial mix-in interface containing a valid() method
►N GNet | Network classes
C AcceptPair | A class which is used to return a new()ed socket to calling code, together with associated address information
►C Address | The GNet::Address class encapsulates a TCP/UDP transport address
C Family | A type-safe enumerator for IP address family
►C Address4 | A 'sockaddr' wrapper class for IPv4 addresses
C union_type | Used by GNet::Address4 to cast between sockaddr and sockaddr_in
►C Address6 | A 'sockaddr' wrapper class for IPv6 addresses
C union_type | Used by GNet::Address6 to cast between sockaddr and sockaddr_in6
C AddressStorage | A helper class for calling accept(), getsockname() and getpeername() and hiding the definition of sockaddr_storage
C AddressStorageImp | A pimple-pattern implementation class used by GNet::AddressStorage
C BufferedServerPeer | A ServerPeer that does line-buffering on input
C Client | A HeapClient class that adds slot/signal signalling, connection/response timeouts, and input line buffering
C ClientPtr | A smart pointer class for GNet::HeapClient that keeps track of when the contained instance deletes itself
C Connection | An abstract interface which provides address information for a network connection
C DatagramSocket | A derivation of GNet::Socket for a datagram socket
C Descriptor | A class that encapsulates a network socket file descriptor and an associated windows event handle
C EventHandler | A base class for classes that handle asynchronous events from the event loop
►C EventHandlerList | A class that maps from a file descriptor to an event handler, used in the implemention of classes derived from GNet::EventLoop
C Iterator | An iterator for GNet::EventHandlerList
C Lock | A raii class to lock and unlock GNet::EventHandlerList
C Value | A tuple for GNet::EventHandlerList
►C EventLoop | An abstract base class for a singleton that keeps track of open sockets and their associated handlers
C Running | RAII class that sets a boolean, for implementations of run()/running()
C EventLoopImp | A concrete implementation of GNet::EventLoop using select() in its implementation
C ExceptionHandler | An abstract interface for handling exceptions thrown out of event-loop callbacks (socket events, future events and timer events)
C FdSet | An "fd_set" wrapper class used by GNet::EventLoopImp
C FutureEvent | An object that hooks into the event loop and calls back to the client code
C FutureEventHandler | A callback interface for GNet::FutureEvent
C FutureEventImp | A pimple-pattern implementation class used by GNet::FutureEvent
C HeapClient | A SimpleClient class for client objects that manage their own lifetime on the heap
C LineBuffer | A class that does line buffering, supporting auto-detection of line endings and fixed-size extraction
C LineBufferConfig | A configuration structure for GNet::LineBuffer
C LineBufferIterator | Syntactic sugar for calling GNet::LineBuffer iteration methods
C Local | A static class for getting information about the local machine's network name and address
C Location | A class that holds a host/service name pair and the preferred address family (if any), and also the results of a name-to-address lookup, ie
C Monitor | A singleton for monitoring GNet::SimpleClient and GNet::ServerPeer connections and for storing their TLS certificates
C MonitorImp | A pimple-pattern implementation class for GNet::Monitor
►C MultiServer | A server that listens on more than one interface using a facade pattern to multiple GNet::Server instances
C ServerInfo | A structure used in GNet::MultiServer::newPeer()
C MultiServerImp | A private implementation class used by GNet::MultiServer
C MultiServerPtr | A private implementation class used by GNet::MultiServer
►C Resolver | A class for synchronous or asynchronous network name to address resolution
C Callback | An interface used for GNet::Resolver callbacks
C ResolverFuture | A 'future' object for asynchronous name resolution, in practice holding just enough state for a single call to getaddrinfo()
C ResolverImp | A private "pimple" implementation class used by GNet::Resolver to do asynchronous name resolution
►C Server | A network server class which listens on a specific port and spins off ServerPeer objects for each incoming connection
C PeerInfo | A structure used in GNet::Server::newPeer()
C ServerPeer | An abstract base class for the GNet::Server's connection to a remote client
C ServerPeerHandle | A structure used in the implementation of GNet::Server
C SimpleClient | A class for making an outgoing connection to a remote server, with support for socket-level protocols such as TLS/SSL and SOCKS 4a
►C Socket | A network socket base class, holding a non-blocking socket file descriptor
C Accepted | Overload discriminator class for GNet::Socket
C NoThrow | Overload discriminator class for GNet::Socket
C SocketProtocol | An interface for implementing a low-level TLS/SSL protocol layer on top of a connected non-blocking socket
►C SocketProtocolImp | A pimple-pattern implementation class used by GNet::SocketProtocol
C Position | A pointer into the scatter/gather payload of GNet::SocketProtocolImp::send()
C SocketProtocolSink | An interface used by GNet::SocketProtocol to deliver data from a socket
C Socks | Implements the socks4a proxy connection protocol
►C StreamSocket | A derivation of GNet::Socket for a stream socket
C Listener | Overload discriminator class for GNet::StreamSocket
C Task | A class for running an exectuable in a separate process with an asychronous completion callback
C TaskCallback | An abstract interface for callbacks from GNet::Task
C TaskImp | A private implementation class used by GNet::Task
C Timer | A timer class template in which the timeout is delivered to the specified method
C TimerBase | An interface used by GNet::TimerList to keep track of pending timeouts and to deliver timeout events
►C TimerList | A singleton which maintains a list of all Timer objects, and interfaces to the event loop on their behalf
C NoThrow | Overload discriminator class for TimerList
►N GPop | POP3 classes
C Auth | An authenticator interface for POP3 sessions that is a very thin veneer over GSmtp::SaslServer
C AuthImp | A private pimple-pattern implementation class used by GPop::Auth
C DirectoryReader | A trivial class which is used like G::Root by GPop::Store for reading directory listings
C FileDeleter | A trivial specialisation of G::Root used by GPop::Store for deleting files
C FileReader | A trivial class which is used like G::Root by GPop::Store for reading files
C Secrets | A simple interface to a store of secrets as used in authentication
C SecretsImp | A private pimple-pattern implementation class used by GPop::Secrets
►C Server | A POP server class
C Config | A structure containing GPop::Server configuration parameters
C ServerPeer | Represents a connection from a POP client
►C ServerProtocol | Implements the POP server-side protocol
C Config | A structure containing configuration parameters for ServerProtocol. NOT USED
C Security | An interface used by ServerProtocol to enable TLS
C Sender | An interface used by ServerProtocol to send protocol replies
C Text | An interface used by ServerProtocol to provide response text strings
C ServerProtocolText | A default implementation for the ServerProtocol::Text interface
C Store | A message store
C StoreLock | Represents an exclusive lock on the message store
C StoreLockEntry | Represents a file in the GPop::Store
►N GSmtp | SMTP and message-store classes
C AdminServer | A server class which implements the emailrelay administration interface
C AdminServerPeer | A derivation of ServerPeer for the administration interface
►C Client | A class which acts as an SMTP client, extracting messages from a message store and forwarding them to a remote SMTP server
C Config | A structure containing GSmtp::Client configuration parameters
►C ClientProtocol | Implements the client-side SMTP protocol
C Config | A structure containing GSmtp::ClientProtocol configuration parameters
C Sender | An interface used by ClientProtocol to send protocol messages
C ClientProtocolReply | A private implementation class used by ClientProtocol
C DirectoryReader | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim read permissions for reading a directory
C ExecutableFilter | A Filter class that runs an external helper program
C ExecutableVerifier | A Verifier that runs an executable
►C FactoryParser | A simple class to parse identifiers that can be a program in the file system or a network address
C Result | Result tuple for GSmtp::FactoryParser::parse()
C FileIterator | A 'body' class for the MessageStore::Iterator 'handle'
C FileReader | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim read permissions for reading a file
C FileStore | A concrete implementation of the MessageStore interface dealing in paired flat files
C FileWriter | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim write permissions
►C Filter | An interface for processing a message file through a filter
C Exit | Interprets an executable filter's exit code
C FilterFactory | A factory for message processors
C InternalVerifier | The standard internal Verifier that accepts all mailbox names
►C MessageStore | A class which allows SMTP messages to be stored and retrieved
C Iterator | An iterator class for GSmtp::MessageStore
C IteratorImp | A base class for MessageStore::Iterator implementations
C NetworkFilter | A Filter class that passes the name of a message file to a remote process over the network
C NetworkVerifier | A Verifier that talks to a remote verifier over the network
C NewFile | A concrete derived class implementing the NewMessage interface
C NewMessage | An abstract class to allow the creation of a new message in the message store
C NullFilter | A Filter class that does nothing
C ProtocolMessage | An interface used by the ServerProtocol class to assemble and process an incoming message
C ProtocolMessageForward | A concrete implementation of the ProtocolMessage interface that stores incoming messages in the message store and then immediately forwards them on to the downstream server
C ProtocolMessageStore | A concrete implementation of the ProtocolMessage interface that stores incoming messages in the message store
C RequestClient | A network client class that interacts with a remote server using a stateless line-based request/response protocol
►C Server | An SMTP server class
C Config | A structure containing GSmtp::Server configuration parameters
C ServerPeer | Handles a connection from a remote SMTP client
►C ServerProtocol | Implements the SMTP server-side protocol
C Config | A structure containing configuration parameters for ServerProtocol
C Sender | An interface used by ServerProtocol to send protocol replies
C Text | An interface used by ServerProtocol to provide response text strings
C ServerProtocolText | A default implementation for the ServerProtocol::Text interface
C SpamClient | A client class that interacts with a remote process using a protocol somewhat similar to the spamassassin spamc/spamd protocol
C SpamFilter | A Filter class that passes the body of a message file to a remote process over the network and optionally stores the response back into the file
C StoredFile | A concete derived class implementing the StoredMessage interface
C StoredMessage | An abstract interface for messages which have come from the store
C Verifier | An asynchronous interface that verifies recipient 'to' addresses
C VerifierFactory | A factory for addresss verifiers
C VerifierStatus | A structure returned by GSmtp::Verifier to describe the status of a 'rcpt-to' recipient
►N GSsl | TLS/SSL transport layer security classes
►N MbedTls |
C Certificate | Holds a mbedtls_x509_crt structure
C Config | Holds protocol version information, etc
C Context | Holds a mbedtls_ssl_context structure
C DigesterImp | An implementation of the GSsl::DigesterImpBase interface for MbedTls
C Error | An exception class for GSsl::MbedTls classes
C Key | Holds a mbedtls_pk_context structure
C LibraryImp | An implementation of the GSsl::LibraryImpBase interface for mbedtls
C ProfileImp | An implementation of the GSsl::Profile interface for mbedtls
C ProtocolImp | An implementation of the GSsl::ProtocolImpBase interface for mbedtls
C Rng | Holds a mbedtls_ctr_drbg_context structure
C SecureFile | An interface for reading a sensitive file and then overwriting its contents in memory
►N OpenSSL |
C Certificate | Holds a certificate taken from an OpenSSL X509 structure
C CertificateChain | Holds a certificate chain taken from a stack of OpenSSL X509 structures
C Config | Holds protocol version information, etc
C DigesterImp | An implementation of the GSsl::DigesterImpBase interface for OpenSSL
C Error | An exception class for GSsl::OpenSSL classes
C LibraryImp | An implementation of the GSsl::LibraryImpBase interface for OpenSSL
C ProfileImp | An implementation of the GSsl::Profile interface for OpenSSL
C ProtocolImp | An implementation of the GSsl::ProtocolImpBase interface for OpenSSL
C Digester | Returns an object that can perform a cryptographic hash
C DigesterImpBase | A base interface for GSsl::Digester pimple classes
C Library | A singleton class for initialising the underlying TLS library
C LibraryImpBase | A base interface for GSsl::Library pimple classes
C Profile | A base interface for profile classes that work with concrete classes derived from GSsl::LibraryImpBase and GSsl::ProtocolImpBase
C Protocol | A TLS protocol class
C ProtocolImpBase | A base interface for GSsl::Protocol pimple classes
►N md5 |
C block | A helper class used by the md5::digest implementation to represent a 64-character data block
C digest | A class that calculates an md5 digest from one or more 64-byte blocks of data using the algorithm described by RFC-1321
C format | A thin veneer over G::HashState