blob: 3f19ff64e2acb544b20a92e93cb0ea990c2daa12 [file] [log] [blame]
digraph {
concentrate = true;
nodesep = 1.3;
CUPS[fontname=Monospace,shape=box];
socket_bridge[label="upstart-socket-bridge",fontname=Monospace,shape=box,];
ippusb_manager[fontname=Monospace,shape=box];
ippusbxd[fontname=Monospace,shape=box];
Printer[shape=box];
cups_and_manager[label="Unix socket"];
cups_and_xd[label="Unix socket"];
xd_and_printer[label="USB connection"];
// Links CUPS to the sockets for ippusb_manager and for ippusbxd.
CUPS->cups_and_manager[weight=1000];
cups_and_manager->CUPS[weight=1000];
CUPS->cups_and_xd[weight=1000];
cups_and_xd->CUPS[weight=1000];
// Links the socket, upstart-socket-bridge, and ippusb_manager together.
cups_and_manager->socket_bridge[label="is mediated by"];
cups_and_manager->ippusb_manager;
socket_bridge->ippusb_manager[label="starts"];
ippusb_manager->cups_and_manager;
// Links the socket, ippusbxd, and ippusb_manager together.
ippusbxd->cups_and_xd;
cups_and_xd->ippusbxd;
ippusb_manager->ippusbxd[label="starts or keeps alive"];
// Links ippusbxd to the printer.
ippusbxd->xd_and_printer;
xd_and_printer->ippusbxd;
Printer->xd_and_printer;
xd_and_printer->Printer;
// Aligns the Unix sockets.
{rank=same; cups_and_manager cups_and_xd}
// Aligns ippusb_manager and ippusbxd.
{rank=same; ippusb_manager ippusbxd}
}