Esempio n. 1
0
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;
}
Esempio n. 2
0
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)
	);
}