The following program will read a vCard file, iterate
    over all vCards and print the name of all cards:
#include <stdio.h>
#include <glib.h>
#include <mimedir/mimedir.h>
int main (int argc, char *argv[])
{
    GError *error = NULL;
    GList *list, *node;
    if (argc != 2) {
        fprintf (stderr, "Usage: %s FILENAME\n", argv[0]);
        return 1;
    }
    mimedir_init ();
    list = mimedir_vcard_read_list (argv[1], &error);
    if (error) {
        fprintf (stderr, "Error while reading %s: %s\n",
                 argv[1], error->message);
        return 1;
    }
    for (node = list; node != NULL; node = g_list_next (node)) {
        MIMEDirVCard *vcard;
        gchar *name;
        vcard = MIMEDIR_VCARD (node->data);
        g_object_get (G_OBJECT (vcard),
                      "name", &name,
                      NULL);
        printf ("%s\n", name);
    }
    mimedir_vcard_free_list (list);
    return 0;
}