| ►CGNet::AbstractTimer | A timer base class that calls a pure virtual method on expiry |
| CGNet::Timer< T > | A timer class template in which the timeout is delivered to the specified method |
| CGSmtp::ClientProtocol | Implements the client-side SMTP protocol |
| CGSmtp::ServerProtocol | Implements the SMTP server-side protocol |
| CGNet::Timer< GNet::Client > | |
| CGNet::Timer< GNet::HeapClient > | |
| CGNet::Timer< GNet::ServerPeer > | |
| CGNet::Timer< GNet::SocketProtocolImp > | |
| CGNet::Timer< GSmtp::RequestClient > | |
| CGNet::Timer< GSmtp::SpamClient > | |
| CGNet::AcceptPair | 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 |
| CGNet::Address | Encapsulates an IP transport address |
| CGNet::AddressImp | A pimple-pattern implementation class for GNet::Address |
| CGNet::AddressStorage | A helper class for calling getsockname() and getpeername() and hiding the definition of sockaddr_storage |
| CGNet::AddressStorageImp | A pimple-pattern implementation class for GNet::AddressStorage |
| CMain::Admin | A factory class for creating GSmtp::AdminServer objects |
| CG::Arg | A class which holds a represention of the argc/argv command line array, and supports simple command-line parsing |
| CGPop::Auth | An authenticator interface for POP3 sessions |
| CGPop::AuthImp | A private pimple-pattern implementation class used by GPop::Auth |
| CG::Base64 | A base64 codec class |
| Cmd5::block | A helper class used by the md5::digest implementation to represent a 64-character data block |
| CGNet::Address::Broadcast | An overload discriminator class for GNet::Address |
| CGSsl::Certificate | An openssl X509 RAII class |
| CG::NewProcess::ChildProcess | Represents the state of a child process |
| CG::NewProcess::ChildProcessImp | A private implementation class used by G::NewProcess |
| CG::Cleanup | An interface for registering cleanup functions which are called when the process terminates abnormally |
| CG::CleanupImp | A private implementation class used by G::Cleanup |
| CGSmtp::ClientProtocolReply | A private implementation class used by ClientProtocol |
| CGNet::ClientPtr< TClient > | A smart pointer class for GNet::HeapClient |
| CGNet::ClientPtr< GSmtp::Client > | |
| CGNet::ClientPtr< GSmtp::GSmtp::Client > | |
| CGNet::ClientPtr< GSmtp::RequestClient > | |
| CGNet::ClientPtr< GSmtp::SpamClient > | |
| CMain::CommandLine | A class which deals with the command-line interface to the process, both input and output |
| CMain::CommandLineImp | A private implementation class used by Main::CommandLine |
| CGSmtp::ClientProtocol::Config | A structure containing GSmtp::ClientProtocol configuration parameters |
| CGSmtp::ServerProtocol::Config | A structure containing configuration parameters for ServerProtocol |
| CGSmtp::Client::Config | A structure containing GSmtp::Client configuration parameters |
| CGSmtp::Server::Config | A structure containing GSmtp::Server configuration parameters |
| CGPop::Server::Config | A structure containing GPop::Server configuration parameters |
| CGPop::ServerProtocol::Config | A structure containing configuration parameters for ServerProtocol. NOT USED |
| CMain::Configuration | An interface for returning application configuration information |
| ►CGNet::Connection | An interface which provides address information for a network connection |
| ►CGNet::ServerPeer | An abstract base class for the GNet::Server's connection to a remote client |
| ►CGNet::BufferedServerPeer | A ServerPeer that does line-buffering on input |
| CGPop::ServerPeer | Represents a connection from a POP client |
| CGSmtp::AdminServerPeer | A derivation of ServerPeer for the administration interface |
| CGSmtp::ServerPeer | Represents a connection from an SMTP client |
| ►CGNet::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 |
| ►CGNet::HeapClient | A SimpleClient class for client objects that manage their own lifetime on the heap |
| ►CGNet::Client | A HeapClient class that adds slot/signal signalling, connection/response timeouts, and input line buffering |
| CGSmtp::Client | A class which acts as an SMTP client, extracting messages from a message store and forwarding them to a remote SMTP server |
| CGSmtp::RequestClient | A client class that interacts with a remote process with a stateless line-based request/response protocol |
| CGSmtp::SpamClient | A client class that interacts with a remote process using a protocol somewhat similar to the spamassassin spamc/spamd protocol |
| CGNet::ResolverImp | A pimple-pattern implementation class for GNet::Resolver |
| CGNet::ConnectionLookup::Connection | Holds information provided by GNet::ConnectionLookup::find() |
| CGNet::ConnectionLookup | A class for getting more information about a connection from the operating system |
| CGSsl::Context | An openssl context wrapper |
| CG::Convert | A static class which provides string encoding conversion functions |
| ►CG::CounterImp | A private implementation class used by the G::Counter<> class template |
| CG::Counter< D, C > | An instance counter to help with leak testing |
| CGNet::Socket::Credentials | A credentials class that allows SocketProtocol to call Socket::fd() |
| CG::Daemon | A class for deamonising the calling process |
| CG::Date | A date (dd/mm/yyyy) class |
| CG::DateTime | A low-level static class used by Date and Time |
| CGNet::Descriptor | A network file descriptor |
| Cmd5::digest | A class that calculates an md5 digest from one or more 64-byte blocks of data using the algorithm described by RFC 1321 |
| Cmd5::digest_stream | A class that calculates an md5 digest from a data stream using the algorithm described by RFC 1321 |
| CG::Directory | An encapsulation of a file system directory which allows for iterating through the set of contained files |
| CG::DirectoryIterator | A Directory iterator |
| CG::DirectoryIteratorImp | A pimple-pattern implementation class for DirectoryIterator |
| CG::DirectoryList | A Directory iterator that does all file i/o in one go |
| CG::Environment | A static class to wrap getenv() and putenv() |
| ►CGNet::EventHandler | A base class for classes that handle asynchronous socket events |
| ►CGNet::Server | A network server class which listens on a specific port and spins off ServerPeer objects for each incoming connection |
| CGNet::MultiServerImp | A private implementation class used by GNet::MultiServer |
| CGNet::ServerPeer | An abstract base class for the GNet::Server's connection to a remote client |
| CGNet::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 |
| CMain::Run | A top-level class for the process |
| CGNet::EventHandlerList | A class which can be used in the implemention of classes derived from GNet::EventLoop |
| ►CGNet::EventLoop | An abstract base class for a singleton that keeps track of open sockets and their associated handlers |
| CGNet::Select | A concrete implementation of GNet::EventLoop using select() in the implementation |
| ►Cexception | |
| ►CG::Exception | A general-purpose exception class derived from std::exception and containing a std::string |
| CG::Pam::Error | An exception class used by G::Pam |
| CGSsl::Error | A private exception class used by ssl classes |
| CG::Executable | A structure representing an external program, holding a path and a set of arguments |
| CGSmtp::FactoryParser | A simple class to parse identifiers that can be a program in the file system or a network address |
| CGNet::FdSet | An "fd_set" wrapper type |
| CG::File | A simple static class for dealing with files |
| CGPop::FileReader | A trivial class which is used like G::Root by GPop::Store for reading files |
| CG::FileSystem | Provides information about the local operating system's file system conventions |
| Cmd5::format | A static string-formatting class for the output of md5::digest |
| CG::GetOpt | A command line switch parser |
| CG::Process::Id | Process-id class |
| CG::Identity | A very low-level interface to getpwnam() and the get/set/e/uid/gid functions |
| ►CG::IdentityUser | A convenience class which, when used as a private base, can improve readability when calling Identity 'set' methods |
| CG::Process | A static interface for doing things with processes |
| CG::Process::IdImp | A private implementation class used by G::Process |
| CG::Pam::Item | A structure used by G::Pam to hold conversation items |
| CGSmtp::MessageStore::Iterator | An iterator class for GSmtp::MessageStore |
| ►CGSmtp::MessageStore::IteratorImp | A base class for MessageStore::Iterator implementations |
| CGSmtp::FileIterator | A 'body' class for the MessageStore::Iterator 'handle' |
| CMain::Legal | A static class providing warranty and copyright text |
| CG::GetOpt::Level | Used by G::GetOpt for extra type safety |
| CGSsl::Library | A RAII class for initialising the underlying ssl library |
| CGSsl::LibraryImp | A private pimple class used by GSsl::Library |
| CG::limits | A scoping structure for a set of buffer sizes |
| CG::Log::Line | A class for adding line number information to the Log output |
| CGNet::LineBuffer | A class which does line buffering |
| CGNet::LineBufferIterator | An iterator class for GNet::LineBuffer |
| CGNet::Local | A static class for getting information about the local machine's network name and address |
| CGNet::Address::Localhost | An overload discriminator class for GNet::Address |
| CG::Time::LocalTime | An overload discriminator class for Time constructors |
| CG::Date::LocalTime | An overload discriminator class for Date constructors |
| CGNet::Lock | A private implementation class used by GNet::Select to lock data structures in the face of reentrancy |
| CG::Log | A static class for doing iostream-based logging |
| CG::LogOutput | Controls and implements low-level logging output, as used by the Log interface |
| CG::Md5::Masked | An overload discriminator for G::Md5::hmac() |
| CG::Md5 | MD5 class |
| ►CGSmtp::MessageStore | A class which allows SMTP messages (envelope+content) to be stored and retrieved |
| CGSmtp::FileStore | 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 |
| CGNet::MonitorImp | A pimple pattern implementation class for GNet::Monitor |
| ►CGNet::MultiServer | A server that listens on more than one interface using a facade pattern to multiple Server instances |
| CGPop::Server | A POP server class |
| CGSmtp::AdminServer | A server class which implements the emailrelay administration interface |
| CGSmtp::Server | An SMTP server class |
| CGNet::MultiServerPtr | A private implementation class used by GNet::MultiServer |
| ►CGSmtp::NewMessage | An abstract class to allow the creation of a new message in the message store |
| CGSmtp::NewFile | A concrete derived class implementing the NewMessage interface |
| CG::NewProcess | A static interface for creating new processes |
| CMain::News | A static class providing some news text |
| ►CG::noncopyable | A noncopyable base class (a la boost) |
| ►CG::Root | A class which acquires the process's special privileges on construction and releases them on destruction |
| CGPop::DirectoryReader | A trivial class which is used like G::Root by GPop::Store for reading directory listings |
| CGPop::FileDeleter | A trivial specialisation of G::Root used by GPop::Store for deleting files |
| CGSmtp::DirectoryReader | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim read permissions for reading a directory |
| CGSmtp::FileReader | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim read permissions for reading a file |
| CGSmtp::FileWriter | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim write permissions |
| CG::Setter | A class to manage a boolean flag while in scope |
| CG::Signal0 | Part of the slot/signal system |
| CG::Signal1< P > | Part of the slot/signal system |
| CG::Signal2< P1, P2 > | Part of the slot/signal system |
| CG::Signal3< P1, P2, P3 > | Part of the slot/signal system |
| CGNet::Monitor | A singleton for monitoring SimpleClient and ServerPeer connections |
| CGNet::Select | A concrete implementation of GNet::EventLoop using select() in the implementation |
| CGSmtp::FileIterator | A 'body' class for the MessageStore::Iterator 'handle' |
| CG::Signal1< bool > | |
| CG::Signal1< std::string > | |
| CG::Signal2< std::string, bool > | |
| CG::Signal2< std::string, GSmtp::VerifierStatus > | |
| CG::Signal2< std::string, int > | |
| CG::Signal2< std::string, std::string > | |
| CG::Signal3< bool, unsigned long, std::string > | |
| CG::Signal3< std::string, std::string, std::string > | |
| CGNet::TimerList::NoThrow | Overload discriminator class for TimerList |
| CG::File::NoThrow | An overload discriminator class for File methods |
| CG::Process::NoThrow | An overload discriminator for Process |
| ►CMain::Output | An abstract interface for generating output on a command-line or a GUI |
| CApp | An implementation of the Main::Output abstract interface for command-line output |
| ►CG::Pam | A thin abstract interface to the system PAM library |
| CGAuth::PamImp | A private implementation of the G::Pam interface used by GAuth::SaslServerPamImp, which is itself a private implementation class used by GAuth::SaslServerPam |
| CG::PamImp | A pimple-pattern implementation class for Pam |
| CG::Path | A Path object represents a file system path |
| CGNet::Server::PeerInfo | A structure used in GNet::Server::newPeer() |
| CG::PidFile | A class for creating pid files |
| CG::Pipe | A private implementation class used by G::NewProcess |
| ►CGSmtp::Processor | An interface for processing message files |
| CGSmtp::ExecutableProcessor | A Processor class that processes message files using an external preprocessor program |
| CGSmtp::NetworkProcessor | A Processor class that passes the name of a message file to a remote process over the network |
| CGSmtp::NullProcessor | A Processor class that does nothing |
| CGSmtp::SpamProcessor | 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 |
| CGSmtp::ProcessorFactory | A factory for message processors |
| CGSsl::Protocol | An SSL protocol class |
| CGSsl::ProtocolImp | A private pimple class used by GSsl::Protocol |
| ►CGSmtp::ProtocolMessage | An interface used by the ServerProtocol class to assemble and process an incoming message |
| CGSmtp::ProtocolMessageForward | 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 |
| CGSmtp::ProtocolMessageStore | A concrete implementation of the ProtocolMessage interface that stores incoming messages in the message store |
| ►CGNet::Resolver | A class for asynchronous TCP name-to-address resolution |
| CGNet::ClientResolver | A resolver class which calls SimpleClient::resolveCon() when done |
| CGNet::ResolverInfo | A class that holds a host/service name pair and optionally the results of a name-to-address lookup, ie |
| CGAuth::SaslClient | A class for implementing the client-side SASL challenge/response concept |
| CGAuth::SaslClientImp | A private pimple-pattern implementation class used by GAuth::SaslClient |
| ►CGAuth::SaslServer | A class for implementing the server-side SASL challenge/response concept |
| CGAuth::SaslServerBasic | An implementation of the SaslServer interface |
| CGAuth::SaslServerPam | An implementation of the SaslServer interface using PAM as the authentication mechanism |
| CGAuth::SaslServerBasicImp | A private pimple-pattern implementation class used by GAuth::SaslServerBasic |
| CGAuth::SaslServerFactory | Provides a factory function for SaslServer instances |
| CGAuth::SaslServerPamImp | A private implementation class used by GAuth::SaslServerPam |
| CGAuth::SecretsFile | A implementation class used by GAuth::Secrets |
| CGPop::SecretsImp | A private pimple-pattern implementation class used by GPop::Secrets |
| ►CGPop::ServerProtocol::Security | An interface used by ServerProtocol to enable TLS |
| CGPop::ServerPeer | Represents a connection from a POP client |
| ►CGSmtp::ClientProtocol::Sender | An interface used by ClientProtocol to send protocol messages |
| CGSmtp::Client | A class which acts as an SMTP client, extracting messages from a message store and forwarding them to a remote SMTP server |
| ►CGSmtp::ServerProtocol::Sender | An interface used by ServerProtocol to send protocol replies |
| CGSmtp::ServerPeer | Represents a connection from an SMTP client |
| ►CGPop::ServerProtocol::Sender | An interface used by ServerProtocol to send protocol replies |
| CGPop::ServerPeer | Represents a connection from a POP client |
| CGNet::ServerPeerHandle | A structure used in the implementation of GNet::Server |
| CGPop::ServerProtocol | Implements the POP server-side protocol |
| CMain::Show | A private implementation class used by Main::CommandLineImp |
| CG::SignalImp | Part of the slot/signal system |
| CG::SignalSafe | An empty structure that is used to indicate a signal-safe, reentrant implementation |
| CG::Slot0 | Part of the slot/signal system |
| CG::Slot1< P > | Part of the slot/signal system |
| CG::Slot1< bool > | |
| CG::Slot1< std::string > | |
| CG::Slot2< P1, P2 > | Part of the slot/signal system |
| CG::Slot2< std::string, bool > | |
| CG::Slot2< std::string, GSmtp::VerifierStatus > | |
| CG::Slot2< std::string, int > | |
| CG::Slot2< std::string, std::string > | |
| CG::Slot3< P1, P2, P3 > | Part of the slot/signal system |
| CG::Slot3< bool, unsigned long, std::string > | |
| CG::Slot3< std::string, std::string, std::string > | |
| ►CG::SlotBase | Part of the slot/signal system |
| CG::SlotImp0< T > | Part of the slot/signal system |
| CG::SlotImp1< T, P > | Part of the slot/signal system |
| CG::SlotImp2< T, P1, P2 > | Part of the slot/signal system |
| CG::SlotImp3< T, P1, P2, P3 > | Part of the slot/signal system |
| CG::SlotOp0< T > | Part of the slot/signal system |
| CG::SlotOp1< T, P > | Part of the slot/signal system |
| CG::SlotOp2< T, P1, P2 > | Part of the slot/signal system |
| CG::SlotOp3< T, P1, P2, P3 > | Part of the slot/signal system |
| CGNet::AddressImp::Sockaddr | Used by GNet::AddressImp to cast between sockaddr and sockaddr_in |
| ►CGNet::Socket | Encapsulates a non-blocking Unix socket file descriptor or a Windows 'SOCKET' handle |
| CGNet::DatagramSocket | A derivation of Socket for a connectionless datagram socket |
| CGNet::StreamSocket | A derivation of Socket for a stream socket |
| CGNet::SocketProtocol | 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 |
| CGNet::SocketProtocolImp | A private implementation class used by GNet::SocketProtocol |
| ►CGNet::SocketProtocolSink | An interface used by GNet::SocketProtocol to deliver data from a socket |
| CGNet::ServerPeer | An abstract base class for the GNet::Server's connection to a remote client |
| CGNet::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 |
| Cmd5::digest_stream::state_type | < Holds the state of an md5 digest stream. Used by md5::digest_stream |
| Cmd5::digest::state_type | Holds the md5 algorithm state. Used by md5::digest |
| CG::StateMachine< T, State, Event, Arg > | A finite state machine class template |
| CG::StateMachine< ServerProtocol, State, Event > | |
| CGPop::Store | A message store |
| ►CGSmtp::StoredMessage | An abstract class for messages which have come from the store |
| CGSmtp::StoredFile | A concete derived class implementing the StoredMessage interface |
| CGPop::StoreLock | Represents an exclusive lock on the message store |
| CGPop::StoreLockEntry | Represents a file in the GPop::Store |
| CG::Str | A static class which provides string helper functions |
| CG::StringMapReader | An adaptor for reading a const StringMap with at() |
| CG::GetOpt::SwitchSpec | A private implementation structure used by G::GetOpt |
| CG::Test | A static interface for enabling test features at run-time |
| ►CGPop::ServerProtocol::Text | An interface used by ServerProtocol to provide response text strings |
| CGPop::ServerProtocolText | A default implementation for the ServerProtocol::Text interface |
| ►CGSmtp::ServerProtocol::Text | An interface used by ServerProtocol to provide response text strings |
| CGSmtp::ServerProtocolText | A default implementation for the ServerProtocol::Text interface |
| CG::Convert::ThrowOnError | Holds error context information for when convert() may fail |
| CG::Time | A simple time-of-day (hh/mm/ss) class |
| CGNet::TimerList | A singleton which maintains a list of all Timer objects, and interfaces to the event loop on their behalf |
| CGNet::TimerUpdate | A private implementation class used by GNet::AbstractTimer |
| ►CG::Process::Umask | Used to temporarily modify the process umask |
| CGSmtp::FileWriter | Used by GSmtp::FileStore, GSmtp::NewFile and GSmtp::StoredFile to claim write permissions |
| CG::Process::Umask::UmaskImp | A private implementation class used by G::Process::Umask |
| CG::Convert::utf8 | A string wrapper that indicates UTF-8 encoding |
| ►CGAuth::Valid | A trivial mix-in interface containing a valid() method |
| ►CGAuth::SaslClient::Secrets | An interface used by GAuth::SaslClient to obtain authentication secrets |
| CGAuth::Secrets | A simple interface to a store of secrets as used in authentication |
| ►CGAuth::SaslServer::Secrets | An interface used by GAuth::SaslServer to obtain authentication secrets |
| CGAuth::Secrets | A simple interface to a store of secrets as used in authentication |
| CGPop::Secrets | A simple interface to a store of secrets as used in authentication |
| ►CGSmtp::Verifier | An asynchronous interface that verifies recipient 'to' addresses |
| CGSmtp::ExecutableVerifier | A Verifier that runs an executable |
| CGSmtp::InternalVerifier | The standard internal Verifier |
| CGSmtp::NetworkVerifier | A Verifier that talks to a remote verifier over the network |
| CGSmtp::VerifierFactory | A factory for addresss verifiers |
| CGSmtp::VerifierStatus | A structure returned by GSmtp::Verifier to describe the status of a rcpt-to recipient |
| CG::Xtext | An xtext codec class |