index ef445d36bbbeb636bcf0a26d1355c0975b316ddb..042091a997044a712c4de1d4c45fe734b1406348 100644 (file)
/* user information */
char *username; /* NULL if the user has not been authenticated */
/* user information */
char *username; /* NULL if the user has not been authenticated */
+ _Bool ready; /* indicates that startup finished successfully */
};
#define CONN(obj) ((sdb_conn_t *)(obj))
};
#define CONN(obj) ((sdb_conn_t *)(obj))
* node types
*/
* node types
*/
+typedef struct {
+ sdb_conn_node_t super;
+ sdb_store_expr_t *expr;
+} conn_expr_t;
+#define CONN_EXPR(obj) ((conn_expr_t *)(obj))
+
typedef struct {
sdb_conn_node_t super;
sdb_store_matcher_t *matcher;
typedef struct {
sdb_conn_node_t super;
sdb_store_matcher_t *matcher;
typedef struct {
sdb_conn_node_t super;
typedef struct {
sdb_conn_node_t super;
+ int type;
conn_matcher_t *filter;
} conn_list_t;
#define CONN_LIST(obj) ((conn_list_t *)(obj))
typedef struct {
sdb_conn_node_t super;
conn_matcher_t *filter;
} conn_list_t;
#define CONN_LIST(obj) ((conn_list_t *)(obj))
typedef struct {
sdb_conn_node_t super;
- char *name;
+ int type;
+ char *host;
+ char *name; /* NULL for type == SDB_HOST */
conn_matcher_t *filter;
} conn_fetch_t;
#define CONN_FETCH(obj) ((conn_fetch_t *)(obj))
typedef struct {
sdb_conn_node_t super;
conn_matcher_t *filter;
} conn_fetch_t;
#define CONN_FETCH(obj) ((conn_fetch_t *)(obj))
typedef struct {
sdb_conn_node_t super;
+ int type;
conn_matcher_t *matcher;
conn_matcher_t *filter;
} conn_lookup_t;
conn_matcher_t *matcher;
conn_matcher_t *filter;
} conn_lookup_t;
* type helper functions
*/
* type helper functions
*/
+static void __attribute__((unused))
+conn_expr_destroy(sdb_object_t *obj)
+{
+ sdb_object_deref(SDB_OBJ(CONN_EXPR(obj)->expr));
+} /* conn_expr_destroy */
+
static void __attribute__((unused))
conn_matcher_destroy(sdb_object_t *obj)
{
static void __attribute__((unused))
conn_matcher_destroy(sdb_object_t *obj)
{
static void __attribute__((unused))
conn_fetch_destroy(sdb_object_t *obj)
{
static void __attribute__((unused))
conn_fetch_destroy(sdb_object_t *obj)
{
+ if (CONN_FETCH(obj)->host)
+ free(CONN_FETCH(obj)->host);
if (CONN_FETCH(obj)->name)
free(CONN_FETCH(obj)->name);
sdb_object_deref(SDB_OBJ(CONN_FETCH(obj)->filter));
if (CONN_FETCH(obj)->name)
free(CONN_FETCH(obj)->name);
sdb_object_deref(SDB_OBJ(CONN_FETCH(obj)->filter));