return percentage;
}
+void
+ply_progress_set_percentage (ply_progress_t* progress, double percentage)
+{
+ progress->next_message_percentage = 1;
+ progress->scalar += percentage / (ply_progress_get_time(progress)-progress->dead_time);
+ progress->scalar /= 2;
+ return;
+}
double
ply_progress_get_time (ply_progress_t* progress)
printf("Save and free cache\n");
ply_progress_save_cache (progress, PLYMOUTH_TIME_DIRECTORY "/boot-duration");
ply_progress_free(progress);
+
+ printf("\nManual set percentage run\n\n");
+
+ progress = ply_progress_new ();
+ progress->scalar = 1.0/5; /* Original time estimate is 5 sec*/
+
+ percent = ply_progress_get_percentage (progress);
+ time = ply_progress_get_time (progress);
+ printf("Time:%f \t Percentage: %f%%\n", time, percent*100);
+ srand ((int) ply_get_timestamp ());
+
+ for (i=0; i<12; i++)
+ {
+ ply_progress_set_percentage (progress, (double)i/12);
+ usleep ((rand () % slowness+slowness));
+ percent = ply_progress_get_percentage (progress);
+ time = ply_progress_get_time (progress);
+ printf("Time:%f \t Percentage: %f%% (%f%%)\tScalar:%f\n", time, percent*100, (double)i/12*100, progress->scalar);
+ }
+ ply_progress_free(progress);
+
return 0;
}
void ply_progress_free (ply_progress_t* progress);
void ply_progress_load_cache (ply_progress_t* progress, const char *filename);
double ply_progress_get_percentage (ply_progress_t* progress);
+void ply_progress_set_percentage (ply_progress_t* progress, double percentage);
double ply_progress_get_time (ply_progress_t* progress);
void ply_progress_pause (ply_progress_t* progress);
void ply_progress_unpause (ply_progress_t* progress);