1 #include
2 #include
3
4 void
5 list (void)
6 {
7 GError *error = NULL;
8
9
10 if (!sl_init (&error))
11 {
12 example_error (error);
13 }
14
15
16 GList *people = sl_book_get_people (SL_BOOK_DEFAULT);
17 for (; people != NULL; people = people->next)
18 {
19
20
21 SlPerson *person = people->data;
22 g_print ("--- %s ---\n", sl_person_get_nick (person));
23
24
25 GList *attributes = sl_person_get_attributes (person);
26 for (; attributes != NULL; attributes = attributes->next)
27 {
28
29
30 SlAttribute *attr = attributes->data;
31 const gchar *attrname = sl_attribute_get_name (attr);
32 g_print (" * %s\n", attrname);
33
34
35 GList *values = sl_attribute_get_all (attr);
36 int i;
37 int length = sl_attribute_get_value_count (attr);
38 for (i = 0; i < length; i++)
39 {
40
41
42 gchar *str = sl_attribute_to_string (attrname, values->data);
43 g_print (" * [%d] %s\n", i, str);
44 g_free (str);
45 values = values->next;
46 }
47 }
48
49 g_print ("\n");
50 }
51
52 sl_cleanup ();
53 }