X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/5ab2942c9843beb73c2d3e1a1a3d6cd7bc962687..9e90c3a511d4ea403d07522fb41d9f44328ecaa0:/src/util.h diff --git a/src/util.h b/src/util.h index 9ddfb340..7525a11e 100644 --- a/src/util.h +++ b/src/util.h @@ -2,6 +2,7 @@ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager * * Copyright (C) 2007-2009, Guilhem Bonnefille + * Copyright (C) 2014, Rob Norris * Based on: * Copyright (C) 2003-2007, Leandro A. F. Pereira * @@ -25,12 +26,10 @@ #define _VIKING_UTIL_H #include -#include G_BEGIN_DECLS -void open_url(GtkWindow *parent, const gchar * url); -void new_email(GtkWindow *parent, const gchar * address); +guint util_get_number_of_cpus (void); gchar *uri_escape(gchar *str); @@ -38,6 +37,36 @@ GList * str_array_to_glist(gchar* data[]); gboolean split_string_from_file_on_equals ( const gchar *buf, gchar **key, gchar **val ); +void util_add_to_deletion_list ( const gchar* filename ); +void util_remove_all_in_deletion_list ( void ); + +gchar *util_str_remove_chars(gchar *string, const gchar *chars); + +/** Returns @c TRUE if @a ptr is @c NULL or @c *ptr is @c FALSE. */ +#define EMPTY(ptr) \ + (!(ptr) || !*(ptr)) + +/** Iterates all the nodes in @a list. + * @param node should be a (@c GList*). + * @param list @c GList to traverse. */ +#define foreach_list(node, list) \ + for (node = list; node != NULL; node = node->next) + +/** Iterates all the nodes in @a list. + * @param node should be a (@c GSList*). + * @param list @c GSList to traverse. */ +#define foreach_slist(node, list) \ + foreach_list(node, list) + +/** Iterates through each character in @a string. + * @param char_ptr Pointer to character. + * @param string String to traverse. + * @warning Doesn't include null terminating character. */ +#define foreach_str(char_ptr, string) \ + for (char_ptr = string; *char_ptr; char_ptr++) + +int util_remove ( const gchar *filename ); + G_END_DECLS #endif