digraph "Graphical Class Hierarchy"
{
 // INTERACTIVE_SVG=YES
  bgcolor="transparent";
  edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
  node [fontname="Helvetica",fontsize="10",shape=record];
  rankdir="LR";
  Node1 [label="DeferredMonitor",height=0.2,width=0.4,color="black",URL="$classDeferredMonitor.html",tooltip="Defer execution of an event into an EventLoop. "];
  Node1 -> Node2 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node2 [label="CurlGlobal",height=0.2,width=0.4,color="black",URL="$classCurlGlobal.html",tooltip="Manager for the global CURLM object. "];
  Node1 -> Node3 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node3 [label="CurlRequest",height=0.2,width=0.4,color="black",URL="$classCurlRequest.html"];
  Node1 -> Node4 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node4 [label="DeferredCall",height=0.2,width=0.4,color="black",URL="$classDeferredCall.html",tooltip="Invoke a method call in the EventLoop. "];
  Node1 -> Node5 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node5 [label="HttpdOutput",height=0.2,width=0.4,color="black",URL="$classHttpdOutput.html"];
  Node1 -> Node6 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node6 [label="MaskMonitor",height=0.2,width=0.4,color="black",URL="$classMaskMonitor.html",tooltip="Manage a bit mask of events that have occurred. "];
  Node1 -> Node7 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node7 [label="NfsConnection",height=0.2,width=0.4,color="black",URL="$classNfsConnection.html",tooltip="An asynchronous connection to a NFS server. "];
  Node1 -> Node8 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node8 [label="NfsFileReader",height=0.2,width=0.4,color="black",URL="$classNfsFileReader.html",tooltip="A helper class which helps with reading from a file. "];
  Node1 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node9 [label="UpdateRemoveService",height=0.2,width=0.4,color="black",URL="$classUpdateRemoveService.html",tooltip="This class handles Song removal. "];
  Node1 -> Node10 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node10 [label="UpdateService",height=0.2,width=0.4,color="black",URL="$classUpdateService.html",tooltip="This class manages the update queue and runs the update thread. "];
  Node11 [label="IdleMonitor",height=0.2,width=0.4,color="black",URL="$classIdleMonitor.html",tooltip="An event that runs when the EventLoop has become idle, before waiting for more events. "];
  Node11 -> Node12 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node12 [label="FullyBufferedSocket",height=0.2,width=0.4,color="black",URL="$classFullyBufferedSocket.html",tooltip="A BufferedSocket specialization that adds an output buffer. "];
  Node12 -> Node13 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node13 [label="Client",height=0.2,width=0.4,color="black",URL="$classClient.html"];
  Node11 -> Node14 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node14 [label="MultiSocketMonitor",height=0.2,width=0.4,color="black",URL="$classMultiSocketMonitor.html",tooltip="Similar to SocketMonitor, but monitors multiple sockets. "];
  Node11 -> Node15 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node15 [label="NfsManager",height=0.2,width=0.4,color="black",URL="$classNfsManager.html",tooltip="A manager for NFS connections. "];
  Node16 [label="list_base_hook",height=0.2,width=0.4,color="grey75"];
  Node16 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node17 [label="CancellablePointer\< T \>",height=0.2,width=0.4,color="black",URL="$classCancellablePointer.html"];
  Node16 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node18 [label="CancellablePointer\l\< NfsCallback \>",height=0.2,width=0.4,color="black",URL="$classCancellablePointer.html"];
  Node16 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node16 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node19 [label="HttpdClient",height=0.2,width=0.4,color="black",URL="$classHttpdClient.html"];
  Node20 [label="NfsCallback",height=0.2,width=0.4,color="black",URL="$classNfsCallback.html",tooltip="Callbacks for an asynchronous libnfs operation. "];
  Node20 -> Node21 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"];
  Node21 [label="BlockingNfsOperation",height=0.2,width=0.4,color="black",URL="$classBlockingNfsOperation.html",tooltip="Utility class to implement a blocking NFS call using the libnfs async API. "];
  Node20 -> Node8 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node22 [label="NfsLease",height=0.2,width=0.4,color="black",URL="$classNfsLease.html"];
  Node22 -> Node21 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node22 -> Node8 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node23 [label="ServerSocket",height=0.2,width=0.4,color="black",URL="$classServerSocket.html",tooltip="A socket that accepts incoming stream connections (e.g. "];
  Node23 -> Node5 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node24 [label="SocketMonitor",height=0.2,width=0.4,color="black",URL="$classSocketMonitor.html",tooltip="Monitor events on a socket. "];
  Node24 -> Node25 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"];
  Node25 [label="BufferedSocket",height=0.2,width=0.4,color="black",URL="$classBufferedSocket.html",tooltip="A SocketMonitor specialization that adds an input buffer. "];
  Node25 -> Node12 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"];
  Node25 -> Node19 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node24 -> Node26 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node26 [label="EventLoop",height=0.2,width=0.4,color="black",URL="$classEventLoop.html",tooltip="An event loop that polls for events on file/socket descriptors. "];
  Node24 -> Node27 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node27 [label="InotifySource",height=0.2,width=0.4,color="black",URL="$classInotifySource.html"];
  Node24 -> Node7 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node28 [label="TimeoutMonitor",height=0.2,width=0.4,color="black",URL="$classTimeoutMonitor.html",tooltip="This class monitors a timeout. "];
  Node28 -> Node13 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node28 -> Node2 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node28 -> Node29 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node29 [label="InotifyQueue",height=0.2,width=0.4,color="black",URL="$classInotifyQueue.html"];
  Node28 -> Node14 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node28 -> Node7 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node28 -> Node30 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node30 [label="StateFile",height=0.2,width=0.4,color="black",URL="$classStateFile.html"];
}
