* Well, the groundwork has been laid, but now I can't see my data anymore.
[scdataviz] / matdb.h
1 /*
2  * matdb: generic materials database information.
3
4
5
6     Copyright (C) 2008 Joseph Pingenot
7
8     This program is free software: you can redistribute it and/or modify
9     it under the terms of the GNU Affero General Public License as published by
10     the Free Software Foundation, either version 3 of the License, or
11     (at your option) any later version.
12
13     This program is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     GNU Affero General Public License for more details.
17
18     You should have received a copy of the GNU Affero General Public License
19     along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
21 */
22
23 #ifndef MATDB_H_
24 #define MATDB_H_
25
26 #include <glib-2.0/glib.h>
27
28 struct matdb_material {
29   GString *name;
30   GHashTable *properties;
31 };
32
33 struct matdb_bowing {
34   GString *from;
35   GString *to;
36   GHashTable *properties;
37 };
38
39 struct matdb {
40   GHashTable *materials;
41   GHashTable *bowings;
42 };
43
44 void print_matdb(const struct matdb *mdb);
45 void destroy_material_gpointer(gpointer data);
46 void destroy_bowing_gpointer(gpointer data);
47 void destroy_material(struct matdb_material *mat);
48 void destroy_bowing(struct matdb_bowing *bow);
49
50 #endif