00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00039 #ifndef DUI_RESOLVER_H_
00040 #define DUI_RESOLVER_H_
00041
00042 #include <glib.h>
00043 #include "duifield.h"
00044
00045 typedef struct DuiResolver_s DuiResolver;
00046
00047 struct DuiResolver_s
00048 {
00049 GList * field_list;
00050 GList * resolver_list;
00051 GList * realizer_list;
00052 };
00053
00054 DuiResolver * dui_resolver_new (void);
00055 void dui_resolver_destroy (DuiResolver *res);
00056
00058 void dui_resolver_add_field (DuiResolver*, DuiField *);
00059
00060 typedef void (*DuiResolverFieldFunc) (DuiField *, gpointer);
00061
00063 void dui_resolver_add_resolver (DuiResolver*,
00064 DuiResolverFieldFunc,
00065 gpointer user_data);
00066
00074 void dui_resolver_remove_resolver (DuiResolver*,
00075 DuiResolverFieldFunc,
00076 gpointer user_data);
00077
00078 typedef void (*DuiResolverRealizeFunc) (gpointer);
00079
00081 void dui_resolver_add_realizer (DuiResolver *,
00082 DuiResolverRealizeFunc, gpointer);
00083
00087 void dui_resolver_resolve (DuiResolver *);
00088
00089 void dui_resolver_realize (DuiResolver *);
00090
00093 #endif