X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afs.h;h=b0d283f626af87321bc405bceef8fa50036a9a59;hp=e113915ccb69942611f3e4166852b3cb0f2052ef;hb=04c16387cc13317ded03ce478b131d94558f585f;hpb=f90e920b43eb4035ded061bb889c8e4d819a2a97 diff --git a/afs.h b/afs.h index e113915c..b0d283f6 100644 --- a/afs.h +++ b/afs.h @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2007 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2007 Andre Noll , see file COPYING. */ /** \file afs.h Exported symbols of the audio file selector. */ @@ -165,6 +161,14 @@ struct afs_callback_arg { struct osl_object query; /** Will be written on band SBD_OUTPUT, fully buffered. */ struct para_buffer pbout; + /** + * Convenience pointer for the deserialized parse result. + * + * Most afs command handlers call \ref send_lls_callback_request() to + * serialize the parse result of the subcommand and pass it to the + * callback. In afs context a pointer to the deserialized parse result + * is stored here. + */ struct lls_parse_result *lpr; }; @@ -179,11 +183,9 @@ struct afs_callback_arg { typedef int afs_callback(struct afs_callback_arg *aca); /** - * Callbacks send chunks to data back to the command handler. Pointers to - * this type of function are used by \ref send_callback_request and friends - * to deal with the data in the command handler process. - * - * \sa \ref send_callback_request(). + * Some AFS callbacks need to send data back to the command handler. Pointers + * to this type of function are passed to \ref send_callback_request() and + * related functions to dispatch the data in the command handler process. */ typedef int callback_result_handler(struct osl_object *result, uint8_t band, void *private); int afs_cb_result_handler(struct osl_object *result, uint8_t band, void *private); @@ -218,7 +220,7 @@ _static_inline_ int afs_max_size_handler(char *buf, size_t size, void *private) return pass_buffer_as_shm(amshd->fd, amshd->band, buf, size); } -__noreturn void afs_init(uint32_t cookie, int socket_fd); +__noreturn void afs_init(int socket_fd); __must_check int afs_event(enum afs_events event, struct para_buffer *pb, void *data); int send_callback_request(afs_callback *f, struct osl_object *query, @@ -260,6 +262,7 @@ int get_afhi_of_row(const struct osl_row *row, struct afh_info *afhi); int get_audio_file_path_of_row(const struct osl_row *row, char **path); int audio_file_loop(void *private_data, osl_rbtree_loop_func *func); int aft_check_callback(struct afs_callback_arg *aca); +void free_status_items(void); /* playlist */ int playlist_open(const char *name);