Exemplo n.º 1
0
static void netflow_file_list(XmlTag *tag, XmlTag **ans)
{
	struct path_tree pt;
	GSList *list;

	*ans = mbb_xml_msg_ok();

	list = xml_tag_path_attr_list(tag, "glob", "value");
	if (list == NULL)
		return;

	list = g_slist_reverse(list);
	if (path_tree_walk(&pt, list)) {
		gchar *str;

		while ((str = path_tree_next(&pt)) != NULL)
			xml_tag_new_child(*ans, "file", "path",
				variant_new_string(str)
			);

		path_tree_free(&pt);
	}

	g_slist_free(list);
}
Exemplo 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)
	);
}
Exemplo n.º 3
0
static void gather_group(struct mbb_group *group, XmlTag *tag)
{
	xml_tag_new_child(tag, "group",
		"id", variant_new_int(group->id),
		"name", variant_new_string(group->name)
	);
}