1e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include "../cache.h"
2e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include "progress.h"
3e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng
4e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstatic void nop_progress_update(u64 curr __maybe_unused,
5e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng				u64 total __maybe_unused,
6e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng				const char *title __maybe_unused)
7e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng{
8e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}
9e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng
10e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstatic struct ui_progress default_progress_fns =
11e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng{
12e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng	.update		= nop_progress_update,
13e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng};
14e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng
15e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstruct ui_progress *progress_fns = &default_progress_fns;
16e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng
17e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengvoid ui_progress__update(u64 curr, u64 total, const char *title)
18e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng{
19e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng	return progress_fns->update(curr, total, title);
20e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}
21e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng
22e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengvoid ui_progress__finish(void)
23e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng{
24e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng	if (progress_fns->finish)
25e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng		progress_fns->finish();
26e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}
27