/* Graph for the PyLink Application Structure: * Update using: dot -Tpng core-structure.dot > core-structure.png */ digraph G { ratio = 0.8; /* make the graph wider than tall */ subgraph cluster_core { label="PyLink Application Structure"; style="filled"; node [style="filled",color="white"]; color="lightblue"; "IRC objects" -> "Protocol modules" [label="Data relayed"] "Protocol modules" -> "PyLink hooks" -> Plugins; "IRC objects" -> "PyLink hooks"; "Main program" -> "IRC objects" [color=indigo] [label="One per network\nspawned"] [fontcolor=indigo]; "Main program" -> "IRC objects" [color=indigo]; "Main program" -> "IRC objects" [color=indigo]; "Protocol modules" -> "IRC objects" [label="States updated"] [color=darkgreen] [fontcolor=darkgreen]; "Main program" -> Plugins [label="Plugin loaders"]; } "Protocol modules" -> "IRCds" -> "Protocol modules"; Plugins -> "Protocol modules" [label="Communication via\nIRC command\nsenders"] [color=navyblue] [fontcolor=navyblue]; Plugins -> "Main program" [label="Registers commands\n& hook handlers"] [color=brown] [fontcolor=brown]; }