ZClk  0.1.0-alpha.3
Library to build cli programs
zclk_progress.h
1 // Copyright (c) 2020 Abhishek Mishra
2 //
3 // This software is released under the MIT License.
4 // https://opensource.org/licenses/MIT
5 
6 #ifndef SRC_ZCLK_PROGRESS_H_
7 #define SRC_ZCLK_PROGRESS_H_
8 
9 #include "zclk_common.h"
10 #include <coll_arraylist.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #define ZCLK_PROGRESS_DEFAULT_BAR "#"
17 #define ZCLK_PROGRESS_DEFAULT_BEFORE "["
18 #define ZCLK_PROGRESS_DEFAULT_AFTER "]"
19 
20 typedef struct zclk_progress_t {
21  char* name;
22  char* message;
23  int length;
24  char* bar;
25  char* before;
26  char* after;
27  char* extra;
28  double current;
29  double total;
31 
32 MODULE_API int create_zclk_progress(zclk_progress** progress, char* name, int length,
33  double total);
34 
35 MODULE_API void free_zclk_progress(zclk_progress* progress);
36 
37 MODULE_API void show_progress(zclk_progress* progress);
38 
39 typedef struct zclk_multi_progress_t {
40  int old_count;
41  arraylist* progress_ls;
43 
44 MODULE_API int create_zclk_multi_progress(zclk_multi_progress** multi_progress);
45 
46 MODULE_API void free_zclk_multi_progress(zclk_multi_progress* multi_progress);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif /* SRC_ZCLK_PROGRESS_H_ */
Definition: zclk_progress.h:39
Definition: zclk_progress.h:20