#include <pakfire/logging.h>
#include <pakfire/pakfire.h>
#include <pakfire/private.h>
-#include <pakfire/progressbar.h>
+#include <pakfire/progress.h>
#include <pakfire/string.h>
#include <pakfire/util.h>
return 0;
}
-static int pakfire_filelist_progressbar_create(
- struct pakfire_progressbar** progressbar, const char* message) {
- struct pakfire_progressbar* p = NULL;
- int r;
-
- // Create the progressbar
- r = pakfire_progressbar_create(&p, NULL);
- if (r)
- goto ERROR;
-
- // Add message
- if (message) {
- r = pakfire_progressbar_add_string(p, "%s", message);
- if (r)
- goto ERROR;
- }
-
- // Add bar
- r = pakfire_progressbar_add_bar(p);
- if (r)
- goto ERROR;
-
- // Add percentage
- r = pakfire_progressbar_add_percentage(p);
- if (r)
- goto ERROR;
-
- // Add ETA
- r = pakfire_progressbar_add_eta(p);
- if (r)
- goto ERROR;
-
- *progressbar = p;
-
- return 0;
-
-ERROR:
- if (p)
- pakfire_progressbar_unref(p);
-
- return r;
-}
-
int pakfire_filelist_walk(struct pakfire_filelist* list,
pakfire_filelist_walk_callback callback, void* data, int flags) {
- struct pakfire_progressbar* progressbar = NULL;
+ struct pakfire_progress* progress = NULL;
struct pakfire_filelist_element* element = NULL;
int r = 0;
- // Show a progressbar when iterating over the filelist
+ // Show progress when iterating over the filelist
if (flags & PAKFIRE_FILELIST_SHOW_PROGRESS) {
- r = pakfire_filelist_progressbar_create(&progressbar, "Processing Files...");
+ r = pakfire_progress_create(&progress, list->pakfire,
+ PAKFIRE_PROGRESS_SHOW_PERCENTAGE|PAKFIRE_PROGRESS_SHOW_ETA);
+ if (r)
+ goto ERROR;
+
+ // Set title
+ r = pakfire_progress_set_title(progress, "%s", _("Processing Files..."));
if (r)
goto ERROR;
const size_t length = pakfire_filelist_length(list);
- // Start progressbar
- pakfire_progressbar_start(progressbar, length);
+ // Start progress
+ r = pakfire_progress_start(progress, length);
+ if (r)
+ goto ERROR;
}
// Call the callback once for every element on the list
TAILQ_FOREACH(element, &list->files, nodes) {
- // Increment the progressbar
- if (progressbar)
- pakfire_progressbar_increment(progressbar, 1);
+ // Increment the progress
+ if (progress)
+ pakfire_progress_increment(progress, 1);
// Call the callback
r = callback(list->pakfire, element->file, data);
}
// Done!
- if (progressbar)
- pakfire_progressbar_finish(progressbar);
+ if (progress) {
+ r = pakfire_progress_finish(progress);
+ if (r)
+ goto ERROR;
+ }
ERROR:
// Finish progress
- if (progressbar)
- pakfire_progressbar_unref(progressbar);
+ if (progress)
+ pakfire_progress_unref(progress);
return r;
}
*/
int pakfire_filelist_verify(struct pakfire_filelist* list, struct pakfire_filelist* errors) {
struct pakfire_filelist_element* element = NULL;
- struct pakfire_progressbar* progressbar = NULL;
+ struct pakfire_progress* progress = NULL;
int status;
int r;
DEBUG(list->pakfire, "Verifying filelist (%zu file(s))...\n", length);
- // Setup progressbar
- r = pakfire_progressbar_create(&progressbar, NULL);
- if (r)
- goto ERROR;
-
- // Add status
- r = pakfire_progressbar_add_string(progressbar, _("Verifying Files..."));
- if (r)
- goto ERROR;
-
- // Add bar
- r = pakfire_progressbar_add_bar(progressbar);
- if (r)
- goto ERROR;
-
- // Add percentage
- r = pakfire_progressbar_add_percentage(progressbar);
+ // Setup progress
+ r = pakfire_progress_create(&progress, list->pakfire,
+ PAKFIRE_PROGRESS_SHOW_PERCENTAGE|PAKFIRE_PROGRESS_SHOW_ETA);
if (r)
goto ERROR;
- // Add ETA
- r = pakfire_progressbar_add_eta(progressbar);
+ // Add title
+ r = pakfire_progress_set_title(progress, "%s", _("Verifying Files..."));
if (r)
goto ERROR;
- // Start the progressbar
- r = pakfire_progressbar_start(progressbar, length);
+ // Start the progress indicator
+ r = pakfire_progress_start(progress, length);
if (r)
goto ERROR;
goto ERROR;
}
- // Increment progressbar
- r = pakfire_progressbar_increment(progressbar, 1);
+ // Increment progress
+ r = pakfire_progress_increment(progress, 1);
if (r)
goto ERROR;
}
// Finish
- r = pakfire_progressbar_finish(progressbar);
+ r = pakfire_progress_finish(progress);
if (r)
goto ERROR;
ERROR:
- if (progressbar)
- pakfire_progressbar_unref(progressbar);
+ if (progress)
+ pakfire_progress_unref(progress);
return r;
}