►NG | Low-level classes |
CArg | A class which holds a represention of the argc/argv command line array, and supports simple command-line parsing |
CBase64 | A base64 codec class |
CCleanup | An interface for registering cleanup functions which are called when the process terminates abnormally |
CCleanupImp | A private implementation class used by G::Cleanup |
►CConvert | A static class which provides string encoding conversion functions |
CThrowOnError | Holds error context information for when convert() may fail |
Cutf8 | A string wrapper that indicates UTF-8 encoding |
CCounter | An instance counter to help with leak testing |
CCounterImp | A private implementation class used by the G::Counter<> class template |
CDaemon | A class for deamonising the calling process |
►CDate | A date (dd/mm/yyyy) class |
CLocalTime | An overload discriminator class for Date constructors |
CDateTime | A low-level static class used by Date and Time |
CDirectory | An encapsulation of a file system directory which allows for iterating through the set of contained files |
CDirectoryIterator | A Directory iterator |
CDirectoryIteratorImp | A pimple-pattern implementation class for DirectoryIterator |
CDirectoryList | A Directory iterator that does all file i/o in one go |
CEnvironment | A static class to wrap getenv() and putenv() |
CException | A general-purpose exception class derived from std::exception and containing a std::string |
CExecutable | A structure representing an external program, holding a path and a set of arguments |
►CFile | A simple static class for dealing with files |
CNoThrow | An overload discriminator class for File methods |
CFileSystem | Provides information about the local operating system's file system conventions |
►CGetOpt | A command line switch parser |
CLevel | Used by G::GetOpt for extra type safety |
CSwitchSpec | A private implementation structure used by G::GetOpt |
CIdentity | A very low-level interface to getpwnam() and the get/set/e/uid/gid functions |
CIdentityUser | A convenience class which, when used as a private base, can improve readability when calling Identity 'set' methods |
Climits | A scoping structure for a set of buffer sizes |
►CLog | A static class for doing iostream-based logging |
CLine | A class for adding line number information to the Log output |
CLogOutput | Controls and implements low-level logging output, as used by the Log interface |
►CMd5 | MD5 class |
CMasked | An overload discriminator for G::Md5::hmac() |
►CNewProcess | A static interface for creating new processes |
CChildProcess | Represents the state of a child process |
CChildProcessImp | A private implementation class used by G::NewProcess |
Cnoncopyable | A noncopyable base class (a la boost) |
►CPam | A thin abstract interface to the system PAM library |
CError | An exception class used by G::Pam |
CItem | A structure used by G::Pam to hold conversation items |
CPamImp | A pimple-pattern implementation class for Pam |
CPath | A Path object represents a file system path |
CPidFile | A class for creating pid files |
CPipe | A private implementation class used by G::NewProcess |
►CProcess | A static interface for doing things with processes |
CId | Process-id class |
CIdImp | A private implementation class used by G::Process |
CNoThrow | An overload discriminator for Process |
►CUmask | Used to temporarily modify the process umask |
CUmaskImp | A private implementation class used by G::Process::Umask |
CRoot | A class which acquires the process's special privileges on construction and releases them on destruction |
CSetter | A class to manage a boolean flag while in scope |
CSignal0 | Part of the slot/signal system |
CSignal1 | Part of the slot/signal system |
CSignal2 | Part of the slot/signal system |
CSignal3 | Part of the slot/signal system |
CSignalImp | Part of the slot/signal system |
CSignalSafe | An empty structure that is used to indicate a signal-safe, reentrant implementation |
CSlot0 | Part of the slot/signal system |
CSlot1 | Part of the slot/signal system |
CSlot2 | Part of the slot/signal system |
CSlot3 | Part of the slot/signal system |
CSlotBase | Part of the slot/signal system |
CSlotImp0 | Part of the slot/signal system |
CSlotImp1 | Part of the slot/signal system |
CSlotImp2 | Part of the slot/signal system |
CSlotImp3 | Part of the slot/signal system |
CSlotOp0 | Part of the slot/signal system |
CSlotOp1 | Part of the slot/signal system |
CSlotOp2 | Part of the slot/signal system |
CSlotOp3 | Part of the slot/signal system |
CStateMachine | A finite state machine class template |
CStr | A static class which provides string helper functions |
CStringMapReader | An adaptor for reading a const StringMap with at() |
CTest | A static interface for enabling test features at run-time |
►CTime | A simple time-of-day (hh/mm/ss) class |
CLocalTime | An overload discriminator class for Time constructors |
CXtext | An xtext codec class |
►NGAuth | SASL authentication classes |
CPamImp | A private implementation of the G::Pam interface used by GAuth::SaslServerPamImp, which is itself a private implementation class used by GAuth::SaslServerPam |
►CSaslClient | A class for implementing the client-side SASL challenge/response concept |
CSecrets | An interface used by GAuth::SaslClient to obtain authentication secrets |
CSaslClientImp | A private pimple-pattern implementation class used by GAuth::SaslClient |
►CSaslServer | A class for implementing the server-side SASL challenge/response concept |
CSecrets | An interface used by GAuth::SaslServer to obtain authentication secrets |
CSaslServerBasic | An implementation of the SaslServer interface |
CSaslServerBasicImp | A private pimple-pattern implementation class used by GAuth::SaslServerBasic |
CSaslServerFactory | Provides a factory function for SaslServer instances |
CSaslServerPam | An implementation of the SaslServer interface using PAM as the authentication mechanism |
CSaslServerPamImp | A private implementation class used by GAuth::SaslServerPam |
CSecrets | A simple interface to a store of secrets as used in authentication |
CSecretsFile | A implementation class used by GAuth::Secrets |
CValid | A trivial mix-in interface containing a valid() method |
►NGNet | Network classes |
CAbstractTimer | A timer base class that calls a pure virtual method on expiry |
CAcceptPair | A class which is used to return a new()ed socket to calling code, together with associated information, and with auto_ptr style transfer of ownership |
►CAddress | Encapsulates an IP transport address |
CBroadcast | An overload discriminator class for GNet::Address |
CLocalhost | An overload discriminator class for GNet::Address |
►CAddressImp | A pimple-pattern implementation class for GNet::Address |
CSockaddr | Used by GNet::AddressImp to cast between sockaddr and sockaddr_in |
CAddressStorage | A helper class for calling getsockname() and getpeername() and hiding the definition of sockaddr_storage |
CAddressStorageImp | A pimple-pattern implementation class for GNet::AddressStorage |
CBufferedServerPeer | A ServerPeer that does line-buffering on input |
CClient | A HeapClient class that adds slot/signal signalling, connection/response timeouts, and input line buffering |
CClientPtr | A smart pointer class for GNet::HeapClient |
CClientResolver | A resolver class which calls SimpleClient::resolveCon() when done |
CConnection | An interface which provides address information for a network connection |
►CConnectionLookup | A class for getting more information about a connection from the operating system |
CConnection | Holds information provided by GNet::ConnectionLookup::find() |
CDatagramSocket | A derivation of Socket for a connectionless datagram socket |
CDescriptor | A network file descriptor |
CEventHandler | A base class for classes that handle asynchronous socket events |
CEventHandlerList | A class which can be used in the implemention of classes derived from GNet::EventLoop |
CEventLoop | An abstract base class for a singleton that keeps track of open sockets and their associated handlers |
CFdSet | An "fd_set" wrapper type |
CHeapClient | A SimpleClient class for client objects that manage their own lifetime on the heap |
CLineBuffer | A class which does line buffering |
CLineBufferIterator | An iterator class for GNet::LineBuffer |
CLocal | A static class for getting information about the local machine's network name and address |
CLock | A private implementation class used by GNet::Select to lock data structures in the face of reentrancy |
CMonitor | A singleton for monitoring SimpleClient and ServerPeer connections |
CMonitorImp | A pimple pattern implementation class for GNet::Monitor |
CMultiServer | A server that listens on more than one interface using a facade pattern to multiple Server instances |
CMultiServerImp | A private implementation class used by GNet::MultiServer |
CMultiServerPtr | A private implementation class used by GNet::MultiServer |
CResolver | A class for asynchronous TCP name-to-address resolution |
CResolverImp | A pimple-pattern implementation class for GNet::Resolver |
CResolverInfo | A class that holds a host/service name pair and optionally the results of a name-to-address lookup, ie |
CSelect | A concrete implementation of GNet::EventLoop using select() in the implementation |
►CServer | A network server class which listens on a specific port and spins off ServerPeer objects for each incoming connection |
CPeerInfo | A structure used in GNet::Server::newPeer() |
CServerPeer | An abstract base class for the GNet::Server's connection to a remote client |
CServerPeerHandle | A structure used in the implementation of GNet::Server |
CSimpleClient | A class for making an outgoing connection to a remote server, with support for socket-level protocols such as TLS/SSL and SOCKS 4a |
►CSocket | Encapsulates a non-blocking Unix socket file descriptor or a Windows 'SOCKET' handle |
CCredentials | A credentials class that allows SocketProtocol to call Socket::fd() |
CSocketProtocol | An interface for implementing a low-level protocol layer by means of calling read() and write() on a connected non-blocking socket and installing and removing event handlers as appropriate |
CSocketProtocolImp | A private implementation class used by GNet::SocketProtocol |
CSocketProtocolSink | An interface used by GNet::SocketProtocol to deliver data from a socket |
CStreamSocket | A derivation of Socket for a stream socket |
CTimer | A timer class template in which the timeout is delivered to the specified method |
►CTimerList | A singleton which maintains a list of all Timer objects, and interfaces to the event loop on their behalf |
CNoThrow | Overload discriminator class for TimerList |
CTimerUpdate | A private implementation class used by GNet::AbstractTimer |
►NGPop | POP3 classes |
CAuth | An authenticator interface for POP3 sessions |
CAuthImp | A private pimple-pattern implementation class used by GPop::Auth |
CDirectoryReader | A trivial class which is used like G::Root by GPop::Store for reading directory listings |
CFileDeleter | A trivial specialisation of G::Root used by GPop::Store for deleting files |
CFileReader | A trivial class which is used like G::Root by GPop::Store for reading files |
CSecrets | A simple interface to a store of secrets as used in authentication |
CSecretsImp | A private pimple-pattern implementation class used by GPop::Secrets |
►CServer | A POP server class |
CConfig | A structure containing GPop::Server configuration parameters |
CServerPeer | Represents a connection from a POP client |
►CServerProtocol | Implements the POP server-side protocol |
CConfig | A structure containing configuration parameters for ServerProtocol. NOT USED |
CSecurity | An interface used by ServerProtocol to enable TLS |
CSender | An interface used by ServerProtocol to send protocol replies |
CText | An interface used by ServerProtocol to provide response text strings |
CServerProtocolText | A default implementation for the ServerProtocol::Text interface |
CStore | A message store |
CStoreLock | Represents an exclusive lock on the message store |
CStoreLockEntry | Represents a file in the GPop::Store |
►NGSmtp | SMTP and message-store classes |
CAdminServer | A server class which implements the emailrelay administration interface |
CAdminServerPeer | A derivation of ServerPeer for the administration interface |
►CClient | A class which acts as an SMTP client, extracting messages from a message store and forwarding them to a remote SMTP server |
CConfig | A structure containing GSmtp::Client configuration parameters |
►CClientProtocol | Implements the client-side SMTP protocol |
CConfig | A structure containing GSmtp::ClientProtocol configuration parameters |
CSender | An interface used by ClientProtocol to send protocol messages |
CClientProtocolReply | A private implementation class used by ClientProtocol |
CDirectoryReader | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim read permissions for reading a directory |
CExecutableProcessor | A Processor class that processes message files using an external preprocessor program |
CExecutableVerifier | A Verifier that runs an executable |
CFactoryParser | A simple class to parse identifiers that can be a program in the file system or a network address |
CFileIterator | A 'body' class for the MessageStore::Iterator 'handle' |
CFileReader | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim read permissions for reading a file |
CFileStore | A concrete implementation of the MessageStore interface dealing in paired flat files and with an optional external preprocessor program which is used to process files once they have been stored |
CFileWriter | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim write permissions |
CInternalVerifier | The standard internal Verifier |
►CMessageStore | A class which allows SMTP messages (envelope+content) to be stored and retrieved |
CIterator | An iterator class for GSmtp::MessageStore |
CIteratorImp | A base class for MessageStore::Iterator implementations |
CNetworkProcessor | A Processor class that passes the name of a message file to a remote process over the network |
CNetworkVerifier | A Verifier that talks to a remote verifier over the network |
CNewFile | A concrete derived class implementing the NewMessage interface |
CNewMessage | An abstract class to allow the creation of a new message in the message store |
CNullProcessor | A Processor class that does nothing |
CProcessor | An interface for processing message files |
CProcessorFactory | A factory for message processors |
CProtocolMessage | An interface used by the ServerProtocol class to assemble and process an incoming message |
CProtocolMessageForward | A concrete implementation of the ProtocolMessage interface which stores incoming messages in the message store and then immediately forwards them on to the downstream server |
CProtocolMessageStore | A concrete implementation of the ProtocolMessage interface that stores incoming messages in the message store |
CRequestClient | A client class that interacts with a remote process with a stateless line-based request/response protocol |
►CServer | An SMTP server class |
CConfig | A structure containing GSmtp::Server configuration parameters |
CServerPeer | Represents a connection from an SMTP client |
►CServerProtocol | Implements the SMTP server-side protocol |
CConfig | A structure containing configuration parameters for ServerProtocol |
CSender | An interface used by ServerProtocol to send protocol replies |
CText | An interface used by ServerProtocol to provide response text strings |
CServerProtocolText | A default implementation for the ServerProtocol::Text interface |
CSpamClient | A client class that interacts with a remote process using a protocol somewhat similar to the spamassassin spamc/spamd protocol |
CSpamProcessor | A Processor class that passes the body of a message file to a remote process over the network and stores the response back into the file |
CStoredFile | A concete derived class implementing the StoredMessage interface |
CStoredMessage | An abstract class for messages which have come from the store |
CVerifier | An asynchronous interface that verifies recipient 'to' addresses |
CVerifierFactory | A factory for addresss verifiers |
CVerifierStatus | A structure returned by GSmtp::Verifier to describe the status of a rcpt-to recipient |
►NGSsl | TLS/SSL transport layer security classes |
CCertificate | An openssl X509 RAII class |
CContext | An openssl context wrapper |
CError | A private exception class used by ssl classes |
CLibrary | A RAII class for initialising the underlying ssl library |
CLibraryImp | A private pimple class used by GSsl::Library |
CProtocol | An SSL protocol class |
CProtocolImp | A private pimple class used by GSsl::Protocol |
►NMain | Application-level classes |
CAdmin | A factory class for creating GSmtp::AdminServer objects |
CCommandLine | A class which deals with the command-line interface to the process, both input and output |
CCommandLineImp | A private implementation class used by Main::CommandLine |
CConfiguration | An interface for returning application configuration information |
CLegal | A static class providing warranty and copyright text |
CNews | A static class providing some news text |
COutput | An abstract interface for generating output on a command-line or a GUI |
CRun | A top-level class for the process |
CShow | A private implementation class used by Main::CommandLineImp |
►Nmd5 | A standalone implementation of the MD5 hashing algorithm |
Cblock | A helper class used by the md5::digest implementation to represent a 64-character data block |
►Cdigest | A class that calculates an md5 digest from one or more 64-byte blocks of data using the algorithm described by RFC 1321 |
Cstate_type | Holds the md5 algorithm state. Used by md5::digest |
►Cdigest_stream | A class that calculates an md5 digest from a data stream using the algorithm described by RFC 1321 |
Cstate_type | < Holds the state of an md5 digest stream. Used by md5::digest_stream |
Cformat | A static string-formatting class for the output of md5::digest |
CApp | An implementation of the Main::Output abstract interface for command-line output |