/*
 * Structural view of tracker
 *
 * Generate PNG with: dot -Tpng tracker-structural-view.dot
 * View the diagram: dotty tracker-structural-view.dot
*/

digraph G {

  graph [size="640,480"];
  node [shape=box, style=filled, fontsize=11];
  edge [fontsize=11];

  { rank=source
    qsparql [label="<<library>>\n\nQSparql"];
  }

  subgraph cluster0 { 
    label="Tracker"

    libtrackersparql [label="<<library>>\n\nlibtracker-sparql"]
    store [label="<<process>>\n\ntracker-store"]
    libtrackerdata [label="<<library>>\n\nlibtracker-data"]
  }

  {
    rank=sink
    sqlite [label="<<library>>\n\nsqlite" ];    
  }

  qsparql -> libtrackersparql [label="<<link>>"]
  libtrackersparql -> store [label="<<DBus>>\n(write)"]
  libtrackersparql -> libtrackerdata [label="<<link>>\n(read)"]
  store -> libtrackerdata [label="<<link>>"]
  libtrackerdata -> sqlite [label="<<link>>"]

  
  
}
