From Fedora Project Wiki
< Anaconda
AnacondaDispatcher
When running anaconda various steps take place, some that you interact with some that you don't. The dispatcher takes care of moving through the steps.
The dispatcher defines a list of steps in the form:
( name, tuple) ( name, Function, tuple)
The two element tuple is a UI step, the three element is called directly from dispatcher.
Non-ui steps
- Dispatcher directly calls the function in question with the args in the list
UI based steps
There is additional complexity here as the different interfaces to anaconda (text, cli, gui) call through in different ways the basic logic is:
- Mapping of step name to file/class/function
- On moving through the ui, go to next step
- If the step is a UI step look up in map and call out to ( eg
__call__
orapply(obj, args)
)