digraph "Graphical Class Hierarchy"
{
  edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
  node [fontname="Helvetica",fontsize="10",shape=record];
  rankdir="LR";
  Node1 [label="QCA::Algorithm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Algorithm.html",tooltip="General superclass for an algorithm. "];
  Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node2 [label="QCA::Certificate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Certificate.html",tooltip="Public Key (X.509) certificate. "];
  Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node3 [label="QCA::CertificateAuthority",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1CertificateAuthority.html",tooltip="A Certificate Authority is used to generate Certificates and Certificate Revocation Lists (CRLs)..."];
  Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node4 [label="QCA::CertificateRequest",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1CertificateRequest.html",tooltip="Certificate Request "];
  Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node5 [label="QCA::Cipher",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Cipher.html",tooltip="General class for cipher (encryption / decryption) algorithms. "];
  Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node6 [label="QCA::CRL",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1CRL.html",tooltip="Certificate Revocation List "];
  Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node7 [label="QCA::Hash",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Hash.html",tooltip="General class for hashing algorithms. "];
  Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node8 [label="QCA::KeyDerivationFunction",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyDerivationFunction.html",tooltip="General superclass for key derivation algorithms. "];
  Node8 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node9 [label="QCA::PBKDF1",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PBKDF1.html",tooltip="Password based key derivation function version 1. "];
  Node8 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node10 [label="QCA::PBKDF2",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PBKDF2.html",tooltip="Password based key derivation function version 2. "];
  Node1 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node11 [label="QCA::KeyStore",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyStore.html",tooltip="General purpose key storage object. "];
  Node1 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node12 [label="QCA::KeyStoreEntry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyStoreEntry.html",tooltip="Single entry in a KeyStore. "];
  Node1 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node13 [label="QCA::MessageAuthenticationCode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1MessageAuthenticationCode.html",tooltip="General class for message authentication code (MAC) algorithms. "];
  Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node14 [label="QCA::PGPKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PGPKey.html",tooltip="Pretty Good Privacy key. "];
  Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node15 [label="QCA::PKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PKey.html",tooltip="General superclass for public (PublicKey) and private (PrivateKey) keys used with asymmetric encrypti..."];
  Node15 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node16 [label="QCA::PrivateKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PrivateKey.html",tooltip="Generic private key. "];
  Node16 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node17 [label="QCA::DHPrivateKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1DHPrivateKey.html",tooltip="Diffie-Hellman Private Key. "];
  Node16 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node18 [label="QCA::DSAPrivateKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1DSAPrivateKey.html",tooltip="Digital Signature Algorithm Private Key. "];
  Node16 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node19 [label="QCA::RSAPrivateKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1RSAPrivateKey.html",tooltip="RSA Private Key. "];
  Node15 -> Node20 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node20 [label="QCA::PublicKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PublicKey.html",tooltip="Generic public key. "];
  Node20 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node21 [label="QCA::DHPublicKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1DHPublicKey.html",tooltip="Diffie-Hellman Public Key. "];
  Node20 -> Node22 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node22 [label="QCA::DSAPublicKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1DSAPublicKey.html",tooltip="Digital Signature Algorithm Public Key. "];
  Node20 -> Node23 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node23 [label="QCA::RSAPublicKey",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1RSAPublicKey.html",tooltip="RSA Public Key. "];
  Node1 -> Node24 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node24 [label="QCA::Random",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Random.html",tooltip="Source of random numbers. "];
  Node1 -> Node25 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node25 [label="QCA::SASL",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1SASL.html",tooltip="Simple Authentication and Security Layer protocol implementation. "];
  Node1 -> Node26 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node26 [label="QCA::SecureMessage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1SecureMessage.html",tooltip="Class representing a secure message. "];
  Node1 -> Node27 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node27 [label="QCA::SecureMessageSystem",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1SecureMessageSystem.html",tooltip="Abstract superclass for secure messaging systems. "];
  Node27 -> Node28 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node28 [label="QCA::CMS",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1CMS.html",tooltip="Cryptographic Message Syntax messaging system. "];
  Node27 -> Node29 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node29 [label="QCA::OpenPGP",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1OpenPGP.html",tooltip="Pretty Good Privacy messaging system. "];
  Node1 -> Node30 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node30 [label="QCA::TLS",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1TLS.html",tooltip="Transport Layer Security / Secure Socket Layer. "];
  Node1 -> Node31 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node31 [label="QCA::TLSSession",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1TLSSession.html",tooltip="Session token, used for TLS resuming. "];
  Node32 [label="QCA::BufferedComputation",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1BufferedComputation.html",tooltip="General superclass for buffered computation algorithms. "];
  Node32 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node32 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node33 [label="QCA::Filter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Filter.html",tooltip="General superclass for filtering transformation algorithms. "];
  Node33 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node33 -> Node34 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node34 [label="QCA::TextFilter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1TextFilter.html",tooltip="Superclass for text based filtering algorithms. "];
  Node34 -> Node35 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node35 [label="QCA::Base64",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Base64.html",tooltip="Base64 encoding / decoding "];
  Node34 -> Node36 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node36 [label="QCA::Hex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Hex.html",tooltip="Hexadecimal encoding / decoding. "];
  Node37 [label="QObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQObject.html"];
  Node37 -> Node38 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node38 [label="QCA::AbstractLogDevice",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1AbstractLogDevice.html",tooltip="An abstract log device. "];
  Node37 -> Node39 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node39 [label="QCA::Console",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Console.html",tooltip="QCA Console system "];
  Node37 -> Node40 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node40 [label="QCA::ConsolePrompt",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1ConsolePrompt.html",tooltip="Console prompt handler. "];
  Node37 -> Node41 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node41 [label="QCA::ConsoleReference",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1ConsoleReference.html",tooltip="Manager for a Console. "];
  Node37 -> Node42 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node42 [label="QCA::DirWatch",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1DirWatch.html",tooltip="Support class to monitor a directory for activity. "];
  Node37 -> Node43 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node43 [label="QCA::EventHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1EventHandler.html",tooltip="Interface class for password / passphrase / PIN and token handlers. "];
  Node37 -> Node44 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node44 [label="QCA::FileWatch",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1FileWatch.html",tooltip="Support class to monitor a file for activity. "];
  Node37 -> Node45 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node45 [label="QCA::KeyGenerator",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyGenerator.html",tooltip="Class for generating asymmetric key pairs. "];
  Node37 -> Node46 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node46 [label="QCA::KeyLoader",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyLoader.html",tooltip="Asynchronous private key loader. "];
  Node37 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node37 -> Node47 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node47 [label="QCA::KeyStoreEntryWatcher",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyStoreEntryWatcher.html",tooltip="Class to monitor the availability of a KeyStoreEntry. "];
  Node37 -> Node48 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node48 [label="QCA::KeyStoreManager",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1KeyStoreManager.html",tooltip="Access keystores, and monitor keystores for changes. "];
  Node37 -> Node49 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node49 [label="QCA::Logger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Logger.html",tooltip="A simple logging system. "];
  Node37 -> Node50 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node50 [label="QCA::PasswordAsker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1PasswordAsker.html",tooltip="User password / passphrase / PIN handler. "];
  Node37 -> Node51 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node51 [label="QCA::QPipeDevice",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1QPipeDevice.html",tooltip="Unbuffered direct pipe. "];
  Node37 -> Node52 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node52 [label="QCA::QPipeEnd",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1QPipeEnd.html",tooltip="A buffered higher-level pipe end. "];
  Node37 -> Node53 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node53 [label="QCA::SafeTimer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1SafeTimer.html"];
  Node37 -> Node54 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node54 [label="QCA::SecureLayer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1SecureLayer.html",tooltip="Abstract interface to a security layer. "];
  Node54 -> Node25 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node54 -> Node30 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node37 -> Node26 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node37 -> Node27 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node37 -> Node55 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node55 [label="QCA::Synchronizer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1Synchronizer.html",tooltip="Enable synchronization between two threads. "];
  Node37 -> Node56 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node56 [label="QCA::TokenAsker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classQCA_1_1TokenAsker.html",tooltip="User token handler. "];
}
