2008-09-26 14:11:08 +00:00
|
|
|
#ifndef _LIGHTTPD_VALUE_H_
|
|
|
|
#define _LIGHTTPD_VALUE_H_
|
|
|
|
|
2008-10-28 21:11:50 +00:00
|
|
|
#ifndef _LIGHTTPD_BASE_H_
|
2008-11-16 20:33:53 +00:00
|
|
|
#error Please include <lighttpd/base.h> instead of this file
|
2008-10-28 21:11:50 +00:00
|
|
|
#endif
|
2008-09-26 14:11:08 +00:00
|
|
|
|
|
|
|
struct value {
|
|
|
|
value_type type;
|
|
|
|
union {
|
|
|
|
gboolean boolean;
|
|
|
|
gint64 number;
|
|
|
|
GString *string;
|
2008-10-02 19:46:06 +00:00
|
|
|
/* array of (value*) */
|
2008-09-26 14:11:08 +00:00
|
|
|
GArray *list;
|
|
|
|
/* hash GString => value */
|
|
|
|
GHashTable *hash;
|
|
|
|
struct {
|
|
|
|
server *srv; /* needed for destruction */
|
|
|
|
action *action;
|
|
|
|
} val_action;
|
|
|
|
struct {
|
|
|
|
server *srv; /* needed for destruction */
|
|
|
|
condition *cond;
|
|
|
|
} val_cond;
|
|
|
|
} data;
|
|
|
|
};
|
|
|
|
|
2009-01-10 13:46:11 +00:00
|
|
|
LI_API value* value_new_none();
|
2008-09-26 14:11:08 +00:00
|
|
|
LI_API value* value_new_bool(gboolean val);
|
|
|
|
LI_API value* value_new_number(gint64 val);
|
|
|
|
LI_API value* value_new_string(GString *val);
|
|
|
|
LI_API value* value_new_list();
|
|
|
|
LI_API value* value_new_hash();
|
|
|
|
LI_API value* value_new_action(server *srv, action *a);
|
|
|
|
LI_API value* value_new_condition(server *srv, condition *c);
|
|
|
|
|
|
|
|
LI_API value* value_copy(value* val);
|
|
|
|
LI_API void value_free(value* val);
|
|
|
|
|
|
|
|
LI_API const char* value_type_string(value_type type);
|
|
|
|
|
|
|
|
LI_API GString *value_to_string(value *val);
|
|
|
|
|
|
|
|
LI_API void value_list_free(GArray *vallist);
|
|
|
|
|
|
|
|
#endif
|