comparison src/audacious/plugin.h @ 3699:ddde4794b4e2

Export tuple formatter API.
author William Pitcock <nenolod@atheme.org>
date Sun, 07 Oct 2007 00:16:35 -0500
parents 0ef1a18a5583
children 81026451b455
comparison
equal deleted inserted replaced
3698:0ef1a18a5583 3699:ddde4794b4e2
254 const gint nfield, 254 const gint nfield,
255 const gchar *field); 255 const gchar *field);
256 gint tuple_get_int(Tuple *tuple, 256 gint tuple_get_int(Tuple *tuple,
257 const gint nfield, 257 const gint nfield,
258 const gchar *field); 258 const gchar *field);
259
260 /* tuple formatter API */
261 gchar *(*tuple_formatter_process_string)(Tuple *tuple, const gchar *string);
262 gchar *(*tuple_formatter_make_title_string)(Tuple *tuple, const gchar *string);
263 void (*tuple_formatter_register_expression)(const gchar *keyword,
264 gboolean (*func)(Tuple *tuple, const gchar *argument));
265 void (*tuple_formatter_register_function)(const gchar *keyword,
266 gchar *(*func)(Tuple *tuple, gchar **argument));
267 gchar *(*tuple_formatter_process_expr)(Tuple *tuple, const gchar *expression,
268 const gchar *argument);
269 gchar *(*tuple_formatter_process_function)(Tuple *tuple, const gchar *expression,
270 const gchar *argument);
271 gchar *(*tuple_formatter_process_construct)(Tuple *tuple, const gchar *string);
259 272
260 }; 273 };
261 274
262 /* Convenience macros for accessing the public API. */ 275 /* Convenience macros for accessing the public API. */
263 /* public name vtable mapping */ 276 /* public name vtable mapping */
328 #define aud_tuple_get_value_type _audvt->tuple_get_value_type 341 #define aud_tuple_get_value_type _audvt->tuple_get_value_type
329 #define aud_tuple_get_string _audvt->tuple_get_string 342 #define aud_tuple_get_string _audvt->tuple_get_string
330 #define aud_tuple_get_int _audvt->tuple_get_int 343 #define aud_tuple_get_int _audvt->tuple_get_int
331 #define aud_tuple_free mowgli_object_unref 344 #define aud_tuple_free mowgli_object_unref
332 345
346 #define aud_tuple_formatter_process_string _audvt->tuple_formatter_process_string
347 #define aud_tuple_formatter_make_title_string _audvt->tuple_formatter_make_title_string
348 #define aud_tuple_formatter_register_expression _audvt->tuple_formatter_register_expression
349 #define aud_tuple_formatter_register_function _audvt->tuple_formatter_register_function
350 #define aud_tuple_formatter_process_expr _audvt->tuple_formatter_process_expr
351 #define aud_tuple_formatter_process_function _audvt->tuple_formatter_process_function
352 #define aud_tuple_formatter_process_construct _audvt->tuple_formatter_process_construct
353
333 /* for multi-file plugins :( */ 354 /* for multi-file plugins :( */
334 extern struct _AudaciousFuncTableV1 *_audvt; 355 extern struct _AudaciousFuncTableV1 *_audvt;
335 356
336 #define DECLARE_PLUGIN(name, init, fini, ...) \ 357 #define DECLARE_PLUGIN(name, init, fini, ...) \
337 G_BEGIN_DECLS \ 358 G_BEGIN_DECLS \