libresman

diff src/resman.h @ 1:469ce01809bc

rudimentary imgthumbs "example program". doesn't use libresman yet
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 31 Jan 2014 03:17:24 +0200
parents 61d7ff6da54b
children bd9b4ff19c93
line diff
     1.1 --- a/src/resman.h	Wed Jan 29 08:17:31 2014 +0200
     1.2 +++ b/src/resman.h	Fri Jan 31 03:17:24 2014 +0200
     1.3 @@ -1,53 +1,31 @@
     1.4  #ifndef RESOURCE_MANAGER_H_
     1.5  #define RESOURCE_MANAGER_H_
     1.6  
     1.7 -/* TODO API */
     1.8 -
     1.9 -/* usage example:
    1.10 -int texload(const char *fname, void *cls)
    1.11 -{
    1.12 -	// open image, parse data ...
    1.13 -}
    1.14 -
    1.15 -struct resman rman;
    1.16 -
    1.17 -resman_init(&rman);
    1.18 -resman_set_load_func(&rman, texload, 0);
    1.19 -resman_set_done_func(&rman, texload_done, 0);
    1.20 -...
    1.21 -
    1.22 -struct texture *tex;
    1.23 -struct resman_job *rjob;
    1.24 -
    1.25 -rjob = resman_get(&rman, "tex.png", 0);
    1.26 -...
    1.27 -resman_wait_job(&rman, rjob);
    1.28 -tex = resman_get_job_data(rjob);
    1.29 -resman_free_job(&rman, rjob);
    1.30 -
    1.31 -...
    1.32 -resman_destroy(&rman);
    1.33 -*/
    1.34 -
    1.35  struct resman;
    1.36  
    1.37 -typedef int (*resman_load_func_t)(const char *fname, void *cls);
    1.38 -typedef void (*resman_done_func_t)(int status, void *cls);
    1.39 -
    1.40 -
    1.41  int resman_init(struct resman *rman);
    1.42  void resman_destroy(struct resman *rman);
    1.43  
    1.44  /* The load callback will be called to load a data file. It may be called in the
    1.45   * context of a different loading thread.
    1.46   */
    1.47 -void resman_set_load_func(struct resman *rman, resman_load_func_t func, void *cls);
    1.48 +/*void resman_set_load_func(struct resman *rman, resman_load_func_t func, void *cls);*/
    1.49  
    1.50  /* The "done" callback will be called in the context of the main thread, whenever a
    1.51   * file was sucessfully loaded, or an error occured.
    1.52   * It's first argument (status) is set to whatever the load function returned, and its
    1.53 - * closure pointer is the closure 
    1.54 + * closure pointer is the closure  ...
    1.55   */
    1.56 -void resman_set_done_func(struct resman *rman, resman_done_func_t func);
    1.57 +/*void resman_set_done_func(struct resman *rman, resman_done_func_t func);*/
    1.58 +
    1.59 +
    1.60 +int resman_lookup(struct resman *rman, const char *fname, void *cls);
    1.61 +void resman_wait(struct resman *rman, int id);
    1.62 +
    1.63 +int resman_poll(struct resman *rman);
    1.64 +
    1.65 +void resman_set_res_data(struct resman *rman, int res_id, void *data);
    1.66 +void *resman_get_res_data(struct resman *rman, int res_id);
    1.67 +
    1.68  
    1.69  #endif	/* RESOURCE_MANAGER_H_ */