GOGlibExtras

GOGlibExtras

Functions

Types and Values

Description

Functions

GOMapFunc ()

gpointer
(*GOMapFunc) (gpointer value);


go_ptr_array_insert ()

void
go_ptr_array_insert (GPtrArray *array,
                     gpointer value,
                     int index);


go_hash_keys ()

GSList *
go_hash_keys (GHashTable *hash);

Collects an unordered list of the keys in hash .

Parameters

hash

GHashTable

 

Returns

a list which the caller needs to free. The content has not additional references added


go_hash_values ()

GSList *
go_hash_values (GHashTable *hash);

Collects an unordered list of the values in hash .

Parameters

hash

GHashTable

 

Returns

a list which the caller needs to free. The content has not additional references added


go_slist_map ()

GSList *
go_slist_map (GSList const *list,
              GOMapFunc map_func);

Parameters

list

list of some items

 

map_func

mapping function

 

go_slist_create ()

GSList *
go_slist_create (gpointer item1,
                 ...);

Creates a GList from NULL-terminated list of arguments.

Parameters

item1

itionally NULL

 

Returns

created list.


go_slist_free_custom ()

void
go_slist_free_custom (GSList *list,
                      GFreeFunc free_func);

Clears a list, calling free_func for each list item.

Parameters

list

list of some items

 

free_func

function freeing list item

 

go_string_slist_copy()

#define	 go_string_slist_copy(list) go_slist_map (list, (GOMapFunc) g_strdup)


go_strsplit_to_slist ()

GSList *
go_strsplit_to_slist (char const *str,
                      gchar delimiter);

Splits up string into tokens at delim and returns a string list.

Parameters

str

String to split

 

delimiter

Token delimiter

 

Returns

string list which you should free after use using function e_free_string_list().


GO_SLIST_FOREACH()

#define             GO_SLIST_FOREACH(list,valtype,val,stmnt)


GO_SLIST_PREPEND()

#define             GO_SLIST_PREPEND(list,item)


GO_SLIST_APPEND()

#define             GO_SLIST_APPEND(list,item)


GO_SLIST_REMOVE()

#define             GO_SLIST_REMOVE(list,item)


GO_SLIST_CONCAT()

#define             GO_SLIST_CONCAT(list_a,list_b)


GO_SLIST_REVERSE()

#define             GO_SLIST_REVERSE(list)


GO_SLIST_SORT()

#define             GO_SLIST_SORT(list,cmp_func)


go_list_index_custom ()

gint
go_list_index_custom (GList *list,
                      gpointer data,
                      GCompareFunc cmp_func);


go_list_free_custom ()

void
go_list_free_custom (GList *list,
                     GFreeFunc free_func);

Clears a list, calling free_func for each list item.

Parameters

list

list of some items

 

free_func

function freeing list item

 

GO_LIST_FOREACH()

#define             GO_LIST_FOREACH(list,valtype,val,stmnt)


GO_LIST_PREPEND()

#define             GO_LIST_PREPEND(list,item)


GO_LIST_APPEND()

#define             GO_LIST_APPEND(list,item)


GO_LIST_REMOVE()

#define             GO_LIST_REMOVE(list,item)


GO_LIST_CONCAT()

#define             GO_LIST_CONCAT(list_a,list_b)


GO_LIST_REVERSE()

#define             GO_LIST_REVERSE(list)


GO_LIST_SORT()

#define             GO_LIST_SORT(list,cmp_func)


go_str_compare ()

int
go_str_compare (void const *x,
                void const *y);


go_ascii_strcase_hash ()

guint
go_ascii_strcase_hash (gconstpointer v);


go_ascii_strcase_equal ()

gint
go_ascii_strcase_equal (gconstpointer v,
                        gconstpointer v2);


go_utf8_collate_casefold ()

gint
go_utf8_collate_casefold (char const *a,
                          char const *b);


go_utf8_strcapital ()

char *
go_utf8_strcapital (char const *p,
                    gssize len);

Similar to g_utf8_strup and g_utf8_strup, except that this function creates a string "Very Much Like: This, One".

Parameters

p

pointer to UTF-8 string

 

len

length in bytes, or -1.

 

Returns

newly allocated string.


go_strescape ()

void
go_strescape (GString *target,
              char const *str);


go_strunescape ()

char const *
go_strunescape (GString *target,
                char const *str);


go_string_append_gstring ()

void
go_string_append_gstring (GString *target,
                          const GString *src);


go_string_append_c_n ()

void
go_string_append_c_n (GString *target,
                      char c,
                      gsize n);


go_guess_encoding ()

char const *
go_guess_encoding (char const *raw,
                   gsize len,
                   char const *user_guess,
                   char **utf8_str);


go_get_real_name ()

char const *
go_get_real_name (void);

Returns

a utf8 encoded string with the current user name. Caller should _NOT_ free the result.


go_destroy_password ()

void
go_destroy_password (char *passwd);

Overwrite a string holding a password. This is a separate routine to ensure that the compiler does not try to outsmart us.

Note: this does not free the memory.

Parameters

passwd

The buffer to clear

 

go_mem_chunk_new ()

GOMemChunk *
go_mem_chunk_new (char const *name,
                  gsize user_atom_size,
                  gsize chunk_size);


go_mem_chunk_destroy ()

void
go_mem_chunk_destroy (GOMemChunk *chunk,
                      gboolean expect_leaks);


go_mem_chunk_alloc ()

gpointer
go_mem_chunk_alloc (GOMemChunk *chunk);


go_mem_chunk_alloc0 ()

gpointer
go_mem_chunk_alloc0 (GOMemChunk *chunk);


go_mem_chunk_free ()

void
go_mem_chunk_free (GOMemChunk *chunk,
                   gpointer mem);


go_mem_chunk_foreach_leak ()

void
go_mem_chunk_foreach_leak (GOMemChunk *chunk,
                           GFunc cb,
                           gpointer user);


go_object_toggle ()

void
go_object_toggle (gpointer object,
                  const gchar *property_name);

Toggle a boolean object property.

Parameters

object

GObject

 

property_name

name

 

go_object_properties_collect ()

GSList *
go_object_properties_collect (GObject *obj);


go_object_properties_apply ()

void
go_object_properties_apply (GObject *obj,
                            GSList *props,
                            gboolean changed_only);


go_object_properties_free ()

void
go_object_properties_free (GSList *props);


go_object_set_property ()

gboolean
go_object_set_property (GObject *obj,
                        const char *property_name,
                        const char *user_prop_name,
                        const char *value,
                        GError **err,
                        const char *error_template);


GOParseKeyValueFunc ()

gboolean
(*GOParseKeyValueFunc) (const char *name,
                        const char *value,
                        GError **err,
                        gpointer user);


go_parse_key_value ()

gboolean
go_parse_key_value (const char *options,
                    GError **err,
                    GOParseKeyValueFunc handler,
                    gpointer user);

Parameters

options

Options string.

 

err

Reference to store GError if parsing fails.

 

handler

Handler to call for each key-value pair.

 

user

user pointer.

 

Types and Values

GOMemChunk

typedef struct _GOMemChunk GOMemChunk;