DOC: Revise QUVI_SCRIPT_PROPERTY_DOMAINS comment
[libquvi.git] / examples / query_fmts.c
blob06e13f578863c35680901c52cf64e0f0d8164692
1 /* libquvi
2 * Copyright (C) 2012 Toni Gundogdu <legatvs@gmail.com>
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #include <locale.h>
19 #include <stdlib.h>
20 #include <glib.h>
21 #include <quvi.h>
22 #include <curl/curl.h>
24 #include "examples.h"
26 static void usage()
28 g_printerr("Usage: query_formats <URL>\n");
29 exit(0);
32 typedef quvi_callback_status qcs;
34 gint main(gint argc, gchar **argv)
36 gchar *url = NULL;
37 gint i = 1;
39 g_assert(qqf == NULL);
40 g_assert(q == NULL);
42 setlocale(LC_ALL, "");
44 if (argc < 2)
45 usage();
47 q = quvi_new();
48 exit_if_error();
50 for (; i<argc; ++i)
52 if (g_strcmp0("-v", argv[i]) == 0)
53 enable_verbose();
54 else if (g_strcmp0("-a", argv[i]) == 0)
55 enable_autoproxy();
56 else
57 url = argv[i];
60 if (url == NULL)
61 usage();
63 quvi_set(q, QUVI_OPTION_CALLBACK_STATUS, (qcs) status);
65 qqf = quvi_query_formats_new(q, url);
66 exit_if_error();
68 gchar **r;
69 gint i;
71 r = g_strsplit(quvi_query_formats_get(qqf), ",", 0);
73 for (i=0; r[i] != NULL; ++i)
74 g_print("%s\n", r[i]);
76 g_strfreev(r);
77 r = NULL;
79 cleanup();
81 g_assert(qqf == NULL);
82 g_assert(q == NULL);
84 return (0);
87 /* vim: set ts=2 sw=2 tw=72 expandtab: */