aboutsummaryrefslogtreecommitdiff
path: root/src/Utility/Utility.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utility/Utility.h')
-rw-r--r--src/Utility/Utility.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Utility/Utility.h b/src/Utility/Utility.h
index 9fca8b6..663f2c4 100644
--- a/src/Utility/Utility.h
+++ b/src/Utility/Utility.h
@@ -13,6 +13,13 @@
#define LINK_FIELD_COUNT 3
+typedef struct {
+ char ***rows;
+ int *field_counts;
+ int count;
+ int capacity;
+} StringMatrix;
+
int hex_to_int(char c);
char *get_theme(const char *default_theme);
void init_themes(const char *static_path);
@@ -28,11 +35,19 @@ int append_string_row(char ****matrix, int **inner_counts, int row_count,
const char *const *values, int field_count);
void free_string_matrix(char ***matrix, int *inner_counts, int row_count);
+void string_matrix_init(StringMatrix *matrix);
+int string_matrix_append(StringMatrix *matrix, const char *const *values,
+ int field_count);
+void string_matrix_free(StringMatrix *matrix);
+
int add_link_to_collection(const char *href, const char *label,
const char *class_name, char ****collection,
int **inner_counts, int current_count);
int build_pagination(int page, char *(*href_builder)(int page, void *data),
void *data, char ****out_matrix, int **out_inner_counts);
+int string_matrix_build_pagination(int page,
+ char *(*href_builder)(int page, void *data),
+ void *data, StringMatrix *out_matrix);
#endif