►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 |