Clean up progress callbacks in fsm/psm machinery
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 5 Jan 2012 12:48:22 +0000 (14:48 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Thu, 5 Jan 2012 14:05:10 +0000 (16:05 +0200)
commit72bd2de21e649c579bb2fba2aeabbdb401b0d246
tree49bd27368b87e17cb2ad67891eed25ea68ca9cb8
parentff0ece3f6be58c8c28a766bdee5ed36daf1727b1
Clean up progress callbacks in fsm/psm machinery

- Move notifications from fsm to psm side for sanity and symmetry,
  psm already has members to hold the callback state.
- Replace PSM_NOTIFY "state" with a helper function that both
  fsm and psm itself use (except for error callbacks which are
  a bit different)
- Init psm->total early, this doesn't change and can now be
  used to refer to "all done" value whatever it happens to be,
  instead of magic "100" values etc.
- Packages with no files are now handled through the same path
  as everything else from progress reporting pov, we just skip calls
  to fsm if there are no files.
- Issue stop callbacks for install as well. While INST_CLOSE_FILE
  can be (and is currently) used to detect this condition, its
  conceptually an entirely different thing.
- Fix erasure callback parameters, they were reversed (starting from
  total and ending with 0, ehh...)
lib/fsm.c
lib/fsm.h
lib/psm.c