static XmlTag *gather_entry(MbbInetPoolEntry *entry, XmlTag *tag) { time_t start, end; XmlTag *xt; start = mbb_inet_pool_entry_get_start(entry); end = mbb_inet_pool_entry_get_end(entry); xml_tag_add_child(tag, xt = xml_tag_newc( "inet_entry", "id", variant_new_int(entry->id), "inet", variant_new_alloc_string(inettoa(NULL, &entry->inet)), "start", variant_new_long(start), "end", variant_new_long(end), "nice", variant_new_int(entry->nice) )); if (entry->start < 0) xml_tag_set_attr(xt, "parent_start", variant_new_static_string("true") ); if (entry->end < 0) xml_tag_set_attr(xt, "parent_end", variant_new_static_string("true") ); if (entry->flag == FALSE) xml_tag_set_attr(xt, "exclusive", variant_new_static_string("true") ); return xt; }
static void gather_task(gpointer key G_GNUC_UNUSED, gpointer value, gpointer data) { struct mbb_task *task = value; XmlTag *tag = data; gchar *username; gchar *state; gchar *name; mbb_user_lock(task->user); username = g_strdup(task->user->name); mbb_user_unlock(task->user); name = (gchar *) g_quark_to_string(task->name); state = task->run ? "run" : "stop"; xml_tag_new_child(tag, "task", "id", variant_new_int(task->id), "name", variant_new_static_string(name), "sid", variant_new_int(task->sid), "state", variant_new_static_string(state), "start", variant_new_long(task->start), "user", variant_new_alloc_string(username) ); }