docs: Update class instantiation diagram

This commit is contained in:
Stein Magnus Jodal 2010-03-20 01:50:39 +01:00
parent 3d2aa08782
commit e4feb863bb

View File

@ -14,22 +14,32 @@ Class instantiation and usage
The following diagram shows how Mopidy with the despotify backend and ALSA
mixer is wired together. The gray nodes are part of external dependencies, and
not Mopidy.
not Mopidy. The red nodes lives in the ``main`` process (running an
:mod:`asyncore` loop), while the blue nodes lives in a secondary process named
``core`` (running a service loop in :class:`mopidy.core.CoreProcess`).
.. digraph:: class_instantiation_and_usage
"spytify" [ color="gray" ]
"despotify" [ color="gray" ]
"alsaaudio" [ color="gray" ]
"__main__" -> "MpdServer" [ label="create 1" ]
"__main__" -> "AlsaMixer" [ label="create 1" ]
"__main__" -> "DespotifyBackend" [ label="create 1" ]
"MpdServer" -> "MpdSession" [ label="create 1 per client" ]
"__main__" [ color="red" ]
"CoreProcess" [ color="blue" ]
"DespotifyBackend" [ color="blue" ]
"AlsaMixer" [ color="blue" ]
"MpdHandler" [ color="blue" ]
"MpdServer" [ color="red" ]
"MpdSession" [ color="red" ]
"__main__" -> "CoreProcess" [ label="create" ]
"__main__" -> "MpdServer" [ label="create" ]
"CoreProcess" -> "DespotifyBackend" [ label="create" ]
"CoreProcess" -> "MpdHandler" [ label="create" ]
"MpdServer" -> "MpdSession" [ label="create one per client" ]
"MpdSession" -> "MpdHandler" [ label="pass MPD requests to" ]
"MpdHandler" -> "DespotifyBackend" [ label="use backend API" ]
"DespotifyBackend" -> "AlsaMixer" [ label="create and use mixer API" ]
"DespotifyBackend" -> "spytify" [ label="use Python wrapper" ]
"spytify" -> "despotify" [ label="use C library" ]
"DespotifyBackend" -> "AlsaMixer" [ label="use mixer API" ]
"AlsaMixer" -> "alsaaudio" [ label="use Python library" ]