00001
00012 #ifndef _VARIABLE_H_
00013 #define _VARIABLE_H_
00014
00015 #include <gtk/gtk.h>
00016 #include "class.h"
00017
00018 typedef enum {
00019 VAR_LOCAL,
00020 VAR_GLOBAL
00021
00022 } var_locality_t;
00023
00024
00025 struct s_variable {
00026 struct s_class class;
00028 gchar *name;
00029 };
00030
00031
00032 #define VAR(class) ((struct s_variable *)class)
00033 #define VAR_TYPE(const) CLASS_TYPE(const)
00034
00035 #define var_free(var) (var_free_from_list(var, NULL))
00036
00037
00038 struct s_variable *var_alloc(gchar *);
00039 void var_free_from_list(gpointer, gpointer);
00040 gint var_comparison(gconstpointer, gconstpointer);
00041 #ifdef DEBUG
00042 void var_debug(gpointer, gpointer);
00043 gchar *var_subdebug(struct s_variable *);
00044 #endif
00045
00046 #endif