3 extern GPrivate *glk_data_key;
6 * giblorb_set_resource_map:
7 * @file: The file stream to read the resource map from
9 * This function tells the library that the file is indeed the Blorby source
10 * of all resource goodness. Whenever your program calls an image or sound
11 * function, such as glk_image_draw(), the library will search this file for
12 * the resource you request.
14 * Do <emphasis>not</emphasis> close the stream after calling this function.
15 * The library is responsible for closing the stream at shutdown time.
17 * Returns: a Blorb error code.
20 giblorb_set_resource_map(strid_t file)
22 ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
23 giblorb_map_t *newmap; /* create map allocates memory */
24 giblorb_err_t error = giblorb_create_map(file, &newmap);
26 if(error != giblorb_err_None) {
31 /* Check if there was already an existing resource map */
32 if(glk_data->resource_map != NULL) {
33 WARNING("Overwriting existing resource map.\n");
34 giblorb_destroy_map(glk_data->resource_map);
35 glk_stream_close(glk_data->resource_file, NULL);
38 glk_data->resource_map = newmap;
39 glk_data->resource_file = file;
40 return giblorb_err_None;
44 * giblorb_get_resource_map:
46 * This function returns the current resource map being used. Returns %NULL
47 * if giblorb_set_resource_map() has not been called yet.
49 * Returns: a resource map, or %NULL.
52 giblorb_get_resource_map()
54 ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
56 if(glk_data->resource_map == NULL) {
57 WARNING("Resource map not set yet.\n");
60 return glk_data->resource_map;