Update NEWS for v0.9.5
[quvi-tool.git] / src / print / lprint.h
blobb49386431f324eca48d623d776da10dfac659d77
1 /* quvi
2 * Copyright (C) 2012,2013 Toni Gundogdu <legatvs@gmail.com>
4 * This file is part of quvi <http://quvi.sourceforge.net/>.
6 * This program is free software: you can redistribute it and/or
7 * modify it under the terms of the GNU Affero General Public
8 * License as published by the Free Software Foundation, either
9 * version 3 of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
16 * You should have received a copy of the GNU Affero General
17 * Public License along with this program. If not, see
18 * <http://www.gnu.org/licenses/>.
21 #ifndef lprint_h
22 #define lprint_h
24 /* callbacks */
26 typedef void (*lprint_cb_errmsg)(const gchar*, ...);
28 /* playlist */
30 typedef gint (*lprint_cb_playlist_properties)(quvi_playlist_t, gpointer);
31 typedef gint (*lprint_cb_playlist_print_buffer)(gpointer);
33 typedef gint (*lprint_cb_playlist_new)(quvi_t, gpointer*);
34 typedef void (*lprint_cb_playlist_free)(gpointer);
36 /* media */
38 typedef gint (*lprint_cb_media_stream_properties)(quvi_http_metainfo_t, gpointer);
39 typedef gint (*lprint_cb_media_print_buffer)(gpointer);
40 typedef gint (*lprint_cb_media_properties)(gpointer);
42 typedef gint (*lprint_cb_media_new)(quvi_t, quvi_media_t, gpointer*);
43 typedef void (*lprint_cb_media_free)(gpointer);
45 typedef gint (*lprint_cb_media_streams_available)(quvi_t, quvi_media_t);
47 /* scan */
49 typedef gint (*lprint_cb_scan_properties)(quvi_scan_t, gpointer);
50 typedef gint (*lprint_cb_scan_print_buffer)(gpointer);
52 typedef gint (*lprint_cb_scan_new)(quvi_t, gpointer*);
53 typedef void (*lprint_cb_scan_free)(gpointer);
55 /* subtitle */
57 typedef gint (*lprint_cb_subtitle_lang_properties)(quvi_subtitle_lang_t, gpointer);
58 typedef gint (*lprint_cb_subtitle_print_buffer)(gpointer);
60 typedef gint (*lprint_cb_subtitle_new)(quvi_t, gpointer*);
61 typedef void (*lprint_cb_subtitle_free)(gpointer);
63 typedef gint (*lprint_cb_subtitles_available)(quvi_t, quvi_subtitle_t);
65 /* enum */
67 void lprint_enum_errmsg(const gchar*, ...);
69 /* playlist */
70 gint lprint_enum_playlist_new(quvi_t, gpointer*);
71 void lprint_enum_playlist_free(gpointer);
73 gint lprint_enum_playlist_properties(quvi_playlist_t, gpointer);
74 gint lprint_enum_playlist_print_buffer(gpointer);
76 /* media */
77 gint lprint_enum_media_stream_properties(quvi_http_metainfo_t, gpointer);
78 gint lprint_enum_media_print_buffer(gpointer);
79 gint lprint_enum_media_properties(gpointer);
81 gint lprint_enum_media_new(quvi_t, quvi_media_t, gpointer*);
82 void lprint_enum_media_free(gpointer);
84 gint lprint_enum_media_streams_available(quvi_t, quvi_media_t);
86 /* scan */
87 gint lprint_enum_scan_properties(quvi_scan_t, gpointer);
88 gint lprint_enum_scan_print_buffer(gpointer);
90 gint lprint_enum_scan_new(quvi_t, gpointer*);
91 void lprint_enum_scan_free(gpointer);
93 /* subtitle */
94 gint lprint_enum_subtitle_lang_properties(quvi_subtitle_lang_t, gpointer);
95 gint lprint_enum_subtitle_print_buffer(gpointer);
97 gint lprint_enum_subtitle_new(quvi_t, gpointer*);
98 void lprint_enum_subtitle_free(gpointer);
100 gint lprint_enum_subtitles_available(quvi_t, quvi_subtitle_t);
102 /* json */
104 void lprint_json_errmsg(const gchar*, ...);
106 /* playlist */
107 gint lprint_json_playlist_new(quvi_t, gpointer*);
108 void lprint_json_playlist_free(gpointer);
110 gint lprint_json_playlist_properties(quvi_playlist_t, gpointer);
111 gint lprint_json_playlist_print_buffer(gpointer);
113 /* media */
114 gint lprint_json_media_stream_properties(quvi_http_metainfo_t, gpointer);
115 gint lprint_json_media_print_buffer(gpointer);
116 gint lprint_json_media_properties(gpointer);
118 gint lprint_json_media_new(quvi_t, quvi_media_t, gpointer*);
119 void lprint_json_media_free(gpointer);
121 gint lprint_json_media_streams_available(quvi_t, quvi_media_t);
123 /* scan */
124 gint lprint_json_scan_properties(quvi_scan_t, gpointer);
125 gint lprint_json_scan_print_buffer(gpointer);
127 gint lprint_json_scan_new(quvi_t, gpointer*);
128 void lprint_json_scan_free(gpointer);
130 /* subtitle */
131 gint lprint_json_subtitle_lang_properties(quvi_subtitle_lang_t, gpointer);
132 gint lprint_json_subtitle_print_buffer(gpointer);
134 gint lprint_json_subtitle_new(quvi_t, gpointer*);
135 void lprint_json_subtitle_free(gpointer);
137 gint lprint_json_subtitles_available(quvi_t, quvi_subtitle_t);
139 /* xml */
141 void lprint_xml_errmsg(const gchar*, ...);
143 /* playlist */
144 gint lprint_xml_playlist_new(quvi_t, gpointer*);
145 void lprint_xml_playlist_free(gpointer);
147 gint lprint_xml_playlist_properties(quvi_playlist_t, gpointer);
148 gint lprint_xml_playlist_print_buffer(gpointer);
150 /* media */
151 gint lprint_xml_media_stream_properties(quvi_http_metainfo_t, gpointer);
152 gint lprint_xml_media_print_buffer(gpointer);
153 gint lprint_xml_media_properties(gpointer);
155 gint lprint_xml_media_new(quvi_t, quvi_media_t, gpointer*);
156 void lprint_xml_media_free(gpointer);
158 gint lprint_xml_media_streams_available(quvi_t, quvi_media_t);
160 /* scan */
161 gint lprint_xml_scan_properties(quvi_scan_t, gpointer);
162 gint lprint_xml_scan_print_buffer(gpointer);
164 gint lprint_xml_scan_new(quvi_t, gpointer*);
165 void lprint_xml_scan_free(gpointer);
167 /* subtitle */
168 gint lprint_xml_subtitle_lang_properties(quvi_subtitle_lang_t, gpointer);
169 gint lprint_xml_subtitle_print_buffer(gpointer);
171 gint lprint_xml_subtitle_new(quvi_t, gpointer*);
172 void lprint_xml_subtitle_free(gpointer);
174 gint lprint_xml_subtitles_available(quvi_t, quvi_subtitle_t);
176 /* rfc2483: reuses lprint_enum_errmsg */
178 /* playlist */
179 gint lprint_rfc2483_playlist_new(quvi_t, gpointer*);
180 void lprint_rfc2483_playlist_free(gpointer);
182 gint lprint_rfc2483_playlist_properties(quvi_playlist_t, gpointer);
183 gint lprint_rfc2483_playlist_print_buffer(gpointer);
185 /* media */
186 gint lprint_rfc2483_media_stream_properties(quvi_http_metainfo_t, gpointer);
187 gint lprint_rfc2483_media_print_buffer(gpointer);
188 gint lprint_rfc2483_media_properties(gpointer);
190 gint lprint_rfc2483_media_new(quvi_t, quvi_media_t, gpointer*);
191 void lprint_rfc2483_media_free(gpointer);
193 gint lprint_rfc2483_media_streams_available(quvi_t, quvi_media_t);
195 /* scan */
196 gint lprint_rfc2483_scan_properties(quvi_scan_t, gpointer);
197 gint lprint_rfc2483_scan_print_buffer(gpointer);
199 gint lprint_rfc2483_scan_new(quvi_t, gpointer*);
200 void lprint_rfc2483_scan_free(gpointer);
202 /* subtitle */
203 gint lprint_rfc2483_subtitle_lang_properties(quvi_subtitle_lang_t, gpointer);
204 gint lprint_rfc2483_subtitle_print_buffer(gpointer);
206 gint lprint_rfc2483_subtitle_new(quvi_t, gpointer*);
207 void lprint_rfc2483_subtitle_free(gpointer);
209 gint lprint_rfc2483_subtitles_available(quvi_t, quvi_subtitle_t);
211 #endif /* lprint_h */
213 /* vim: set ts=2 sw=2 tw=72 expandtab: */