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 };