goat3dgfx

diff src/dataset.h @ 24:dc5918c62a64

broken: converting to resman
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Mar 2014 22:04:29 +0200
parents 7d6b667821cf
children
line diff
     1.1 --- a/src/dataset.h	Tue Feb 25 23:47:48 2014 +0200
     1.2 +++ b/src/dataset.h	Sat Mar 01 22:04:29 2014 +0200
     1.3 @@ -21,6 +21,7 @@
     1.4  
     1.5  #include <string>
     1.6  #include <map>
     1.7 +#include <resman.h>
     1.8  
     1.9  namespace goatgfx {
    1.10  
    1.11 @@ -28,15 +29,23 @@
    1.12  class DataSet {
    1.13  protected:
    1.14  	mutable std::map<std::string, T> data;
    1.15 +	mutable struct resman *rman;
    1.16  
    1.17 -	T (*load)(const char*);
    1.18 +	T (*create)();
    1.19 +	bool (*load)(T, const char*);
    1.20 +	bool (*done)(T);
    1.21  	void (*destroy)(T);
    1.22  
    1.23 +	static int dataset_load_func(const char *fname, int id, void *cls);
    1.24 +	static int dataset_done_func(int id, void *cls);
    1.25 +	static void dataset_destroy_func(int id, void *cls);
    1.26 +
    1.27  public:
    1.28 -	DataSet(T (*load_func)(const char*), void (*destr_func)(T) = 0);
    1.29 +	DataSet(T (*create_func)(), bool (*load_func)(T, const char*), bool (*done_func)(T) = 0, void (*destr_func)(T) = 0);
    1.30  	~DataSet();
    1.31  
    1.32  	void clear();
    1.33 +	void update();
    1.34  
    1.35  	T get(const char *name) const;
    1.36  };